libunistring: Detect libunistring also when it depends on libiconv.
[gnulib.git] / ChangeLog
1 2010-04-11  Bruno Haible  <bruno@clisp.org>
2
3         libunistring: Detect libunistring also when it depends on libiconv.
4         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
5         the second AC_LIB_HAVE_LINKFLAGS invocation.
6
7 2010-04-11  James Youngman  <jay@gnu.org>
8
9         close-stream: declare local scalars to be "const"
10         * lib/close-stream.c (close_stream): Make boolean variables const
11         to document the fact that we set but do not change them.
12
13 2010-04-11  Bruno Haible  <bruno@clisp.org>
14
15         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
16
17 2010-04-11  Jim Meyering  <meyering@redhat.com>
18
19         maint.mk: don't include dist-check.mk
20         * top/maint.mk: Remove bogus include directive.
21
22         maint.mk: improve empty-line-at-EOF check
23         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
24         solution, rather than tail+Perl-based one.  The latter would read
25         a few kilobytes from the end of each file, and did not handle empty
26         files properly.
27
28         maint.mk: print the elapsed time for each syntax-check rule
29         * top/maint.mk (sc_m_rules_): Save start time in a file.
30         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31         (local-check): Interpose the .z rules
32
33 2010-04-11  Jim Meyering  <meyering@redhat.com>
34
35         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
36         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
37         empty file with one that ends in an empty line.
38
39 2010-04-10  Bruno Haible  <bruno@clisp.org>
40
41         mkdir: Make it work on mingw64.
42         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
43         * lib/mkdir.c: Update comment.
44         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
45
46 2010-04-10  Bruno Haible  <bruno@clisp.org>
47
48         Don't override improved macro from newer autoconf.
49         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
50         autoconf >= 2.62.
51         Reported by Joel E. Denny <jdenny@clemson.edu>.
52
53 2010-04-10  Jim Meyering  <meyering@redhat.com>
54
55         maint.mk: new syntax-check rule: prohibit empty lines at end of file
56         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
57
58         maint.mk: correct a diagnostic
59         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
60         in diagnostic; now use $prohibit.
61
62 2010-04-10  Bruno Haible  <address@hidden>
63
64         fchownat: Fix a C++ test error on Solaris 8.
65         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
66         the function does not exist.
67
68 2010-04-10  Bruno Haible  <bruno@clisp.org>
69
70         vasnprintf: Add more tests.
71         * tests/test-vasnprintf-posix.c: Include <errno.h>.
72         (test_function): Test converting an invalid wide string.
73
74         vasnprintf: Correct handling of unconvertible wide string arguments.
75         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
76         VASNPRINTF.
77         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
78         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
79         smaller than the expected maximum need for the directive. Set errno to
80         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
81         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
82         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
83         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
84         * modules/vasnprintf (Files): Add m4/printf.m4.
85         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
86
87 2010-04-10  Bruno Haible  <bruno@clisp.org>
88
89         vasnprintf: Fix crash in %ls directive.
90         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
91         string is passed as argument to %ls, with no precision and no width.
92         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
93
94 2010-04-10  Bruno Haible  <bruno@clisp.org>
95
96         vasnprintf: Fix multiple test failures on mingw.
97         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
98         _snprintf, or snwprintf, not _snwprintf.
99
100 2010-04-10  Bruno Haible  <bruno@clisp.org>
101
102         write: Fix a C++ test error on mingw.
103         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
104
105 2010-04-10  Bruno Haible  <bruno@clisp.org>
106
107         vasnprintf test: Reduce code duplication.
108         * tests/test-vasnprintf.c (test_function): New function, extracted from
109         test_vasnprintf.
110         (test_vasnprintf, test_asnprintf): Invoke it.
111
112 2010-04-10  Bruno Haible  <bruno@clisp.org>
113
114         strnlen: Fix warning in C++ mode on MacOS X.
115         * lib/string.in.h (strnlen): Use the modern idiom.
116         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
117         defining strnlen as a macro already in <config.h>.
118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
119         REPLACE_STRNLEN.
120         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
121         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
122
123 2010-04-08  James Youngman  <jay@gnu.org>
124
125         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
126         the example.
127
128 2010-04-09  Jim Meyering  <meyering@redhat.com>
129
130         maint.mk: print better diagnostic when there is no $(_hv_file)
131         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
132         announce that when $(_hv_file) (aka help-version) does not exist.
133
134         init.sh: run tr in the "C" locale to avoid multibyte interpretation
135         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
136         not try to interpret its random input bytes.  Jarno Rajahalme reported
137         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
138         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
139         (mktempd_): Likewise, just in case.
140
141         ftruncate: add two years to projected module removal date: 2012
142         * m4/ftruncate.m4: Adjust comments.
143
144         ftruncate: mark module as obsolete; even MinGW provides it, now
145         * modules/ftruncate (Status): Obsolete.
146         (Notice): Say that.
147         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
148         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
149
150 2010-04-08  Bruno Haible  <bruno@clisp.org>
151
152         Fix side effects from tests-related modules.
153         * modules/dprintf-posix (Comment): New section.
154         * modules/fprintf-posix (Comment): Likewise.
155         * modules/obstack-printf-posix (Comment): Likewise.
156         * modules/printf-posix (Comment): Likewise.
157         * modules/snprintf-posix (Comment): Likewise.
158         * modules/sprintf-posix (Comment): Likewise.
159         * modules/vasnprintf-posix (Comment): Likewise.
160         * modules/vasprintf-posix (Comment): Likewise.
161         * modules/vdprintf-posix (Comment): Likewise.
162         * modules/vfprintf-posix (Comment): Likewise.
163         * modules/vprintf-posix (Comment): Likewise.
164         * modules/vsnprintf-posix (Comment): Likewise.
165         * modules/vsprintf-posix (Comment): Likewise.
166         * modules/xprintf-posix (Comment): Likewise.
167         * modules/xvasprintf-posix (Comment): Likewise.
168         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
169         * modules/floorf-tests (Depends-on): Likewise.
170         * modules/round-tests (Depends-on): Likewise.
171         * modules/roundf-tests (Depends-on): Likewise.
172         * modules/trunc-tests (Depends-on): Likewise.
173         * modules/truncf-tests (Depends-on): Likewise.
174         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
175         'fprintf-posix' module is not present.
176         * tests/test-floorf2.c (check): Likewise.
177         * tests/test-trunc2.c (check): Likewise.
178         * tests/test-truncf2.c (check): Likewise.
179         * tests/test-round2.c (equal): Likewise.
180         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
181
182 2010-04-07  Karl Berry  <karl@gnu.org>
183
184         * config/srclist.txt,
185         * config/srclistvars.sh,
186         * config/srclist-update: doc fixes.
187
188 2010-04-07  Jim Meyering  <meyering@redhat.com>
189
190         maint.mk: add a PATH crosschecking syntax-check rule
191         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
192         Useful if you use a test like the one in help-version (coreutils,
193         diffutils, grep, gzip) that ensures $(VERSION) matches what is
194         printed by prog --version.
195
196 2010-04-06  Bruno Haible  <bruno@clisp.org>
197
198         Fix link error on mingw.
199         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
200         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
201
202 2010-04-06  Bruno Haible  <bruno@clisp.org>
203
204         Assume rmdir exists.
205         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
206
207 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
208
209         doc: update users.txt
210         * users.txt: Add gcal.
211
212 2010-04-06  Jim Meyering  <meyering@redhat.com>
213
214         init.sh: simply unset TMPDIR rather than risking env -i
215         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
216         although it probably works fine on all Unix-based systems, some
217         systems (Cygwin?) cannot tolerate a totally cleared environment.
218         Suggestion from Eric Blake.
219
220 2010-04-06  Jim Meyering  <meyering@redhat.com>
221
222         init.sh: portability fix: use env's POSIX-specified -i option not -u
223         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
224         than unportable env -u.  Solaris 5.11's env lacks support for -u.
225
226 2010-04-05  Bruno Haible  <bruno@clisp.org>
227
228         btowc: Work around Cygwin 1.7.2 bug.
229         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
230         does not map NUL to 0.
231         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
232
233 2010-04-05  Bruno Haible  <bruno@clisp.org>
234
235         Make the multithread modules work on Cygwin 1.7.2.
236         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
237         imported symbols can be declared weak, so that it returns "no" on
238         Cygwin 1.7.2.
239
240 2010-04-05  Bruno Haible  <bruno@clisp.org>
241
242         Use the module 'strncat'.
243         * modules/unistr/u8-strncat (Depends-on): Add strncat.
244
245         Tests for module 'strncat'.
246         * modules/strncat-tests: New file.
247         * tests/test-strncat.c: New file.
248
249         New module 'strncat'.
250         * lib/string.in.h (strncat): New declaration.
251         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
252         * m4/strncat.m4: New file, based on m4/memchr.m4.
253         * modules/strncat: New file.
254         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
255         is declared.
256         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
257         REPLACE_STRNCAT.
258         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
259         REPLACE_STRNCAT.
260         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
261         module.
262         * tests/test-string-c++.cc: Check signature of strncat.
263
264 2010-04-05  Jim Meyering  <meyering@redhat.com>
265
266         xstrtoumax-tests: convert to use init.sh
267         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
268         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
269         Use Exit, not exit.
270         Remove uses of $EXEEXT and "./" to run a program in the current dir.
271
272         xstrtoimax-tests: convert to use init.sh
273         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
274         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
275         Use Exit, not exit.
276         Remove uses of $EXEEXT and "./" to run a program in the current dir.
277
278 2010-04-05  Bruno Haible  <bruno@clisp.org>
279
280         sys_socket: Avoid #define replacements in C++ mode.
281         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
282         warning to the function if possible, rather than #defining the symbol
283         to a dysfunctional alias.
284
285 2010-04-05  Bruno Haible  <bruno@clisp.org>
286
287         fseeko: Fix C++ test error on mingw.
288         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
289         gl_FUNC_FSEEKO.
290         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
291         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
292         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
293         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
294
295 2010-04-05  Bruno Haible  <bruno@clisp.org>
296
297         duplocale: Improve test output.
298         * tests/test-duplocale.c (main): Print reason for skipped test.
299
300 2010-04-05  Bruno Haible  <bruno@clisp.org>
301
302         Assume rmdir exists.
303         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
304         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
305
306 2010-04-05  Bruno Haible  <bruno@clisp.org>
307
308         Fix link error on Solaris 8 with cc.
309         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
310
311 2010-04-05  Bruno Haible  <bruno@clisp.org>
312
313         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
314         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
315
316 2010-04-05  Bruno Haible  <bruno@clisp.org>
317
318         vasprintf: Update documentation.
319         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
320
321 2010-04-05  Bruno Haible  <bruno@clisp.org>
322
323         ptsname: Improve test.
324         * tests/test-ptsname.c (main): Also try the various master names of BSD
325         systems.
326
327 2010-04-05  Bruno Haible  <bruno@clisp.org>
328
329         memchr: Avoid a possible C++ test error.
330         * lib/string.in.h (memchr): Provide declaration if function is missing.
331         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
332         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
334         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
335
336 2010-04-05  Bruno Haible  <bruno@clisp.org>
337
338         strtok_r: Improve idiom.
339         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
340         AC_LIBOBJ is used.
341
342 2010-04-05  Bruno Haible  <bruno@clisp.org>
343
344         strdup: Improve idiom.
345         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
346         AC_LIBOBJ is used.
347         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
348         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
349         when AC_LIBOBJ is used.
350
351 2010-04-05  Bruno Haible  <bruno@clisp.org>
352
353         mbsinit, mbrtowc, wcrtomb: Improve idioms.
354         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
355         don't set REPLACE_MBSINIT to 1.
356         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
357         don't set REPLACE_MBRTOWC to 1.
358         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
359         exist, don't set REPLACE_MBSRTOWCS to 1.
360         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
361         exist, don't set REPLACE_MBSNRTOWCS to 1.
362         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
363         don't set REPLACE_WCRTOMB to 1.
364         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
365         exist, don't set REPLACE_WCSRTOMBS to 1.
366         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
367         exist, don't set REPLACE_WCSNRTOMBS to 1.
368
369 2010-04-05  Bruno Haible  <bruno@clisp.org>
370
371         ldexpl: Improve idiom.
372         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
373         make sure to set HAVE_DECL_LDEXPL to 0.
374
375 2010-04-05  Jim Meyering  <meyering@redhat.com>
376
377         xstrtol-tests: convert to use init.sh
378         * modules/xstrtol-tests (Files): Add tests/init.sh.
379         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
380         Use Exit, not exit.
381         Remove uses of $EXEEXT and "./" to run a program in the current dir.
382
383         atexit-tests: convert to use init.sh
384         * modules/atexit-tests (Files): Add tests/init.sh.
385         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
386         Use Exit, not exit.
387         Remove uses of $EXEEXT and "./" to run a program in the current dir.
388
389         init.sh: fix typo
390         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
391
392         init.sh: make it easier for a test script to write to the tty, ...
393         when using automake's parallel-tests mode.
394         * tests/init.sh (stderr_fileno_): Define overridable variable.
395         (warn_): New function, to use it.
396         (fail_, skip_, framework_failure_): Use warn_.
397
398 2010-04-04  Bruno Haible  <bruno@clisp.org>
399
400         btowc: Avoid warning.
401         * lib/btowc.c: Include <stdlib.h>.
402         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
403
404 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
405             Bruno Haible  <bruno@clisp.org>
406
407         wchar: Port to NetBSD 1.5.
408         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
409         * lib/wctype.in.h (WEOF): Likewise.
410
411 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
412             Bruno Haible  <bruno@clisp.org>
413
414         Port extended stdio to NetBSD 1.5.
415         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
416         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
417         older.
418
419 2010-04-04  Bruno Haible  <bruno@clisp.org>
420
421         string: Remove unused substitution.
422         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
423         HAVE_DECL_STRERROR.
424         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
425
426 2010-04-04  Bruno Haible  <bruno@clisp.org>
427
428         strtod: Avoid a possible C++ test error.
429         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
430         set REPLACE_STRTOD.
431
432 2010-04-04  Bruno Haible  <bruno@clisp.org>
433
434         strerror: Update documentation.
435         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
436
437 2010-04-04  Bruno Haible  <bruno@clisp.org>
438
439         stdio: Fix some C++ test errors on Solaris 8 with GCC.
440         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
441         _GL_CXXALIAS_SYS_CAST.
442
443 2010-04-04  Bruno Haible  <bruno@clisp.org>
444
445         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
446         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
447         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
448         REPLACE_FREXPL to 1.
449         * doc/posix-functions/frexpl.texi: Update documentation.
450
451 2010-04-04  Bruno Haible  <bruno@clisp.org>
452
453         math: Fix some C++ test errors on Solaris 8 and Cygwin.
454         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
455
456 2010-04-04  Bruno Haible  <bruno@clisp.org>
457
458         Implement nanosleep for native Windows.
459         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
460
461 2010-04-04  Bruno Haible  <bruno@clisp.org>
462
463         math: Fix some C++ test errors on Solaris 8.
464         * lib/math.in.h (truncf, trunc): Use simpler idiom.
465
466 2010-04-04  Bruno Haible  <bruno@clisp.org>
467
468         math: Fix some C++ test errors on Cygwin.
469         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
470         truncl): Provide declaration if the system does not have it.
471         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
472         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
473         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
474         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
475         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
476         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
477         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
478         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
479         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
480         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
481         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
482         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
483         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
484         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
485         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
486         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
487         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
488         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
489         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
490         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
491         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
492         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
493
494 2010-04-04  Bruno Haible  <bruno@clisp.org>
495
496         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
497         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
498         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
499         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
500         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
501         * m4/isinf.m4 (gl_ISINF): Likewise.
502         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
503
504 2010-04-04  Bruno Haible  <bruno@clisp.org>
505
506         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
507         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
508
509 2010-04-04  Bruno Haible  <bruno@clisp.org>
510
511         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
512         * modules/tmpfile (configure.ac): Update.
513
514         tmpfile: Fix C++ test error on mingw.
515         * lib/stdio.in.h (tmpfile): New declaration.
516         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
517         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
518         * modules/tmpfile (Depends-on): Add stdio.
519         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
520         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
521         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
522         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
523         REPLACE_TMPFILE.
524         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
525
526 2010-04-04  Bruno Haible  <bruno@clisp.org>
527
528         ioctl: Fix C++ test error on mingw.
529         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
530         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
531         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
532
533 2010-04-03  Bruno Haible  <bruno@clisp.org>
534
535         wcwidth: Fix C++ test error on mingw.
536         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
538         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
539
540 2010-04-03  Bruno Haible  <bruno@clisp.org>
541
542         nanosleep: Fix C++ test error on mingw.
543         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
544         * lib/time.in.h (nanosleep): Use modern idiom.
545         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
546         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
547         REPLACE_NANOSLEEP to 1.
548         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
549         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
550
551 2010-04-03  Bruno Haible  <bruno@clisp.org>
552
553         strptime: Fix C++ test error on mingw.
554         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
555         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
556         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
557         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
558         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
559         not REPLACE_STRPTIME.
560         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
561         REPLACE_STRPTIME.
562
563 2010-04-03  Bruno Haible  <bruno@clisp.org>
564
565         timegm: Fix C++ test error on mingw.
566         * lib/time.in.h (timegm): Use modern idiom.
567         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
568         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
569         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
570         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
571
572 2010-04-03  Bruno Haible  <bruno@clisp.org>
573
574         timegm: Assume declaration if function exists.
575         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
576         if it exists. Don't clobber ac_cv_func_timegm.
577
578 2010-04-03  Bruno Haible  <bruno@clisp.org>
579
580         time_r: Fix C++ test error on mingw.
581         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
582         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
583         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
584         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
585         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
586
587 2010-04-03  Bruno Haible  <bruno@clisp.org>
588
589         time_r: Minor updates.
590         * modules/time_r (Description): Mention the provided functions.
591         * lib/time_r.c: Don't include <string.h>.
592         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
593         * doc/posix-functions/localtime_r.texi: Likewise.
594
595 2010-04-03  Bruno Haible  <bruno@clisp.org>
596
597         time: Fix regression introduced on 2010-03-08.
598         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
599         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
600
601 2010-04-03  Jim Meyering  <meyering@redhat.com>
602
603         maint.mk: don't silently disable project-specific syntax-check rules
604         * top/maint.mk (_prohibit_regexp): Define, to help people realize
605         that they need to convert their project-specific syntax-check rules
606         to use the new _sc_search_regexp.
607
608 2010-04-03  Bruno Haible  <bruno@clisp.org>
609
610         fchdir: Fix regression introduced on 2010-03-08.
611         * lib/unistd.in.h (fchdir): Fix declaration.
612         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
613         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
614         REPLACE_FCHDIR.
615         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
616         REPLACE_FCHDIR.
617
618 2010-04-03  Bruno Haible  <bruno@clisp.org>
619
620         getpagesize: Fix C++ test error on mingw.
621         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
622         system does not declare the function.
623         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
624         declared.
625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
626         HAVE_DECL_GETPAGESIZE.
627         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
628
629 2010-04-03  Bruno Haible  <bruno@clisp.org>
630
631         stdio: Make C++ tests work on mingw.
632         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
633         does not declare the function.
634
635 2010-04-03  Bruno Haible  <bruno@clisp.org>
636
637         ftello: Fix C++ test error on mingw.
638         * lib/stdio.in.h (ftello): Use modern idiom.
639         * lib/ftello.c (ftello): Renamed from rpl_ftello.
640         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
641         is missing and that it needs to be replaced.
642         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
644         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
645
646 2010-04-03  Bruno Haible  <bruno@clisp.org>
647
648         fseeko: Fix C++ test error on mingw.
649         * lib/stdio.in.h (fseeko): Use modern idiom.
650         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
651         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
652         is missing and that it needs to be replaced.
653         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
655         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
656
657 2010-04-03  Bruno Haible  <bruno@clisp.org>
658
659         mkstemp: Fix C++ test error on mingw.
660         * lib/stdlib.in.h (mkstemp): Use modern idiom.
661         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
662         function is missing and that it needs to be replaced.
663         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
664         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
665
666 2010-04-03  Bruno Haible  <bruno@clisp.org>
667
668         stpncpy: Fix C++ test error on mingw.
669         * lib/string.in.h (stpncpy): Use modern idiom.
670         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
671         function is missing and that it needs to be replaced.
672         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
673         REPLACE_STPNCPY.
674         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
675
676 2010-04-03  Bruno Haible  <bruno@clisp.org>
677
678         sys_stat: Fix C++ test error on mingw.
679         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
680         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
681
682 2010-04-03  Bruno Haible  <bruno@clisp.org>
683
684         pty: Update doc.
685         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
686
687 2010-04-03  Bruno Haible  <bruno@clisp.org>
688
689         unistd: Fix C++ test error on mingw.
690         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
691
692 2010-04-03  Bruno Haible  <bruno@clisp.org>
693
694         Update doc regarding mingw.
695         * doc/glibc-functions/openpty.texi: Update regarding mingw.
696         * doc/glibc-functions/login_tty.texi: Likewise.
697         * doc/glibc-functions/forkpty.texi: Likewise.
698
699 2010-04-03  Bruno Haible  <bruno@clisp.org>
700
701         stdlib: Avoid compilation failure of c-strtold on mingw.
702         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
703
704 2010-04-03  Bruno Haible  <bruno@clisp.org>
705
706         locale: Make C++ tests work on Cygwin and mingw.
707         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
708         cannot provide the function.
709         Reported by Simon Josefsson.
710
711 2010-04-03  Bruno Haible  <bruno@clisp.org>
712
713         localename: Port to MacOS X 10.6.
714         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
715         memory layout of the locales in MacOS X 10.6 as well.
716         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
717
718 2010-04-02  Bruno Haible  <bruno@clisp.org>
719
720         gnulib-tool: Ensure that long-running tests are executed last.
721         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
722         running tests after the one for the other tests.
723
724 2010-04-02  Bruno Haible  <bruno@clisp.org>
725
726         gnulib-tool: Ensure the tests in the main directory are executed first.
727         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
728         start with the current directory.
729
730 2010-04-02  Bruno Haible  <bruno@clisp.org>
731
732         Tests for module 'havelib', moved here from GNU gettext.
733         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
734         modifications.
735         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
736         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
737         with modifications.
738         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
739         modifications.
740         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
741         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
742         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
743         with modifications.
744         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
745         with modifications.
746         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
747         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
748         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
749         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
750         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
751         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
752         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
753         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
754         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
755         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
756         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
757         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
758         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
759         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
760         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
761         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
762         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
763         with modifications.
764         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
765         with modifications.
766         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
767         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
768         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
769         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
770         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
771         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
772         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
773         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
774         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
775         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
776         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
777         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
778         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
779         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
780         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
781         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
782         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
783         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
784         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
785         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
786         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
787         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
788         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
789         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
790         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
791         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
792         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
793         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
794         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
795         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
796         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
797         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
798         * tests/havelib/rpathx/rpathx.c: New file, from
799         gettext/autoconf-lib-link.
800         * tests/havelib/rpathx/Makefile.am: New file, from
801         gettext/autoconf-lib-link.
802         * tests/havelib/rpathx/configure.ac: New file, from
803         gettext/autoconf-lib-link with modifications.
804         * tests/havelib/rpathy/rpathy.c: New file, from
805         gettext/autoconf-lib-link.
806         * tests/havelib/rpathy/Makefile.am: New file, from
807         gettext/autoconf-lib-link.
808         * tests/havelib/rpathy/configure.ac: New file, from
809         gettext/autoconf-lib-link with modifications.
810         * tests/havelib/rpathz/rpathz.c: New file, from
811         gettext/autoconf-lib-link.
812         * tests/havelib/rpathz/Makefile.am: New file, from
813         gettext/autoconf-lib-link.
814         * tests/havelib/rpathz/configure.ac: New file, from
815         gettext/autoconf-lib-link with modifications.
816         * tests/havelib/rpathlx/usex.c: New file, from
817         gettext/autoconf-lib-link.
818         * tests/havelib/rpathlx/Makefile.am: New file, from
819         gettext/autoconf-lib-link.
820         * tests/havelib/rpathlx/configure.ac: New file, from
821         gettext/autoconf-lib-link with modifications.
822         * tests/havelib/rpathly/usey.c: New file, from
823         gettext/autoconf-lib-link.
824         * tests/havelib/rpathly/Makefile.am: New file, from
825         gettext/autoconf-lib-link.
826         * tests/havelib/rpathly/configure.ac: New file, from
827         gettext/autoconf-lib-link with modifications.
828         * tests/havelib/rpathlz/usez.c: New file, from
829         gettext/autoconf-lib-link.
830         * tests/havelib/rpathlz/Makefile.am: New file, from
831         gettext/autoconf-lib-link.
832         * tests/havelib/rpathlz/configure.ac: New file, from
833         gettext/autoconf-lib-link with modifications.
834         * tests/havelib/rpathlyx/usey.c: New file, from
835         gettext/autoconf-lib-link.
836         * tests/havelib/rpathlyx/Makefile.am: New file, from
837         gettext/autoconf-lib-link.
838         * tests/havelib/rpathlyx/configure.ac: New file, from
839         gettext/autoconf-lib-link with modifications.
840         * tests/havelib/rpathlzyx/usez.c: New file, from
841         gettext/autoconf-lib-link.
842         * tests/havelib/rpathlzyx/Makefile.am: New file, from
843         gettext/autoconf-lib-link.
844         * tests/havelib/rpathlzyx/configure.ac: New file, from
845         gettext/autoconf-lib-link with modifications.
846         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
847         with modifications.
848
849 2010-04-02  Bruno Haible  <bruno@clisp.org>
850
851         gnulib-tool: Create distributed built sources also for the tests.
852         * gnulib-tool (func_create_testdir): Also generate distributed built
853         sources in the tests directory.
854
855 2010-04-02  Bruno Haible  <bruno@clisp.org>
856
857         gnulib-tool: Obey user's environment variables.
858         * gnulib-tool (func_create_testdir): When creating built sources,
859         respect the environment variables for autoconf, automake, etc. given by
860         the user.
861
862 2010-04-02  Bruno Haible  <bruno@clisp.org>
863
864         gnulib-tool: Provide the value of --m4-base to modules.
865         * gnulib-tool (func_import, func_create_testdir): Emit a definition
866         of gl_m4_base.
867
868 2010-04-02  Eric Blake  <eblake@redhat.com>
869
870         maint.mk: fix some fallout
871         * NEWS: Document the incompatible change, and its effect on cfg.mk.
872         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
873
874 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
875
876         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
877         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
878         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
879         (sc_cast_of_x_alloc_return_value): Likewise.
880         (sc_cast_of_alloca_return_value): Likewise.
881         (sc_space_tab): Likewise.
882         (sc_prohibit_atoi_atof): Likewise.
883         (sc_prohibit_magic_number_exit): Likewise.
884         (sc_error_exit_success): Likewise.
885         (sc_file_system): Likewise.
886         (sc_prohibit_have_config_h): Likewise.
887         (sc_require_config_h): Likewise.
888         (sc_prohibit_HAVE_MBRTOWC): Likewise.
889         (sc_obsolete_symbols): Likewise.
890         (sc_changelog): Likewise.
891         (sc_program_name): Likewise.
892         (sc_the_the): Likewise.
893         (sc_trailing_blank): Likewise.
894         (sc_two_space_separator_in_usage): Likewise.
895         (sc_useless_cpp_parens): Likewise.
896         (sc_GPL_version): Likewise.
897         (sc_GFDL_version): Likewise.
898         (sc_texinfo_acronym): Likewise.
899         (sc_prohibit_cvs_keyword): Likewise.
900         (sc_prohibit_stat_st_blocks): Likewise.
901         (sc_prohibit_S_IS_definition): Likewise.
902         (sc_redundant_const): Likewise.
903         (sc_makefile_TAB_only_indentation): Likewise.
904         (sc_m4_quote_check): Likewise.
905         (sc_makefile_path_separator_check): Likewise.
906         (sc_copyright_check): Likewise.
907         (sc_Wundef_boolean): Likewise.
908         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
909
910         maint.mk: match 0 or more whitespace-before-function-call '('
911         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
912         that have zero or two-and-more spaces between the function name
913         and the open parenthesis.
914         (sc_error_message_warn_fatal): Likewise.
915         (sc_error_message_uppercase): Likewise.
916         (sc_error_message_period): Likewise.
917
918 2010-03-31  Eric Blake  <eblake@redhat.com>
919
920         maint.mk: check for [ as well as test
921         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
922         Based on a libvirt report by Matthias Bolte.
923
924         gnumakefile: don't squelch _version output
925         * top/GNUmakefile (_version): Create one-shot dependency rather
926         than using $(shell) when version must be regenerated.
927         (_autoreconf): Run verbosely, by default.
928
929         sys_time: avoid compiler warnings
930         * lib/sys_time.in.h (includes): Ensure gcc pragma is
931         unconditional, fixing regression from 2010-03-29.
932         Reported by Simon Josefsson.
933
934 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
935
936         maint.mk: s/_header_without_use/_sc_header_without_use/
937         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
938         (sc_prohibit_assert_without_use): Use the new name.
939         (sc_prohibit_close_stream_without_use): Likewise.
940         (sc_prohibit_getopt_without_use): Likewise.
941         (sc_prohibit_quotearg_without_use): Likewise.
942         (sc_prohibit_quote_without_use): Likewise.
943         (sc_prohibit_long_options_without_use): Likewise.
944         (sc_prohibit_inttostr_without_use): Likewise.
945         (sc_prohibit_ignore_value_without_use): Likewise.
946         (sc_prohibit_error_without_use): Likewise.
947         (sc_prohibit_xalloc_without_use): Likewise.
948         (sc_prohibit_hash_without_use): Likewise.
949         (sc_prohibit_hash_pjw_without_use): Likewise.
950         (sc_prohibit_safe_read_without_use): Likewise.
951         (sc_prohibit_argmatch_without_use): Likewise.
952         (sc_prohibit_canonicalize_without_use): Likewise.
953         (sc_prohibit_root_dev_ino_without_use): Likewise.
954         (sc_prohibit_openat_without_use): Likewise.
955         (sc_prohibit_c_ctype_without_use): Likewise.
956         (sc_prohibit_signal_without_use): Likewise.
957         (sc_prohibit_intprops_without_use): Likewise.
958
959 2010-03-30  Eric Blake  <eblake@redhat.com>
960
961         maint: improve module indicators
962         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
963         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
964         columns, and avoid extra macro expansion.
965
966         fdopendir: work around FreeBSD bug
967         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
968         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
969         * modules/dirent (Makefile.am): Substitute it.
970         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
971         declaration.
972         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
973         fix.
974         Reported by Christian Weisgerber <naddy@mips.inka.de>.
975
976 2010-03-29  Bruno Haible  <bruno@clisp.org>
977
978         Emit #pragma system_header after the inclusion guard, not before.
979         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
980         guard that spans the entire file, not before. This enables an
981         optimization in GCC's preprocessor.
982         * lib/ctype.in.h: Likewise.
983         * lib/dirent.in.h: Likewise.
984         * lib/errno.in.h: Likewise.
985         * lib/float.in.h: Likewise.
986         * lib/getopt.in.h: Likewise.
987         * lib/iconv.in.h: Likewise.
988         * lib/langinfo.in.h: Likewise.
989         * lib/locale.in.h: Likewise.
990         * lib/math.in.h: Likewise.
991         * lib/netdb.in.h: Likewise.
992         * lib/netinet_in.in.h: Likewise.
993         * lib/pty.in.h: Likewise.
994         * lib/sched.in.h: Likewise.
995         * lib/se-selinux.in.h: Likewise.
996         * lib/search.in.h: Likewise.
997         * lib/spawn.in.h: Likewise.
998         * lib/stdarg.in.h: Likewise.
999         * lib/stdint.in.h: Likewise.
1000         * lib/string.in.h: Likewise.
1001         * lib/strings.in.h: Likewise.
1002         * lib/sys_file.in.h: Likewise.
1003         * lib/sys_ioctl.in.h: Likewise.
1004         * lib/sys_time.in.h: Likewise.
1005         * lib/sys_times.in.h: Likewise.
1006         * lib/sys_utsname.in.h: Likewise.
1007         * lib/sys_wait.in.h: Likewise.
1008         * lib/sysexits.in.h: Likewise.
1009         * lib/wctype.in.h: Likewise.
1010
1011 2010-03-28  James Youngman  <jay@gnu.org>
1012
1013         save-cwd: don't leak a file descriptor when the caller execs.
1014         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1015         saved file descriptor.
1016         * modules/save-cwd (Depends-on): Depend on cloexec.
1017
1018 2010-03-29  Bruno Haible  <bruno@clisp.org>
1019
1020         Remove vestiges of fts-lgpl module.
1021         * lib/fts_.h: Assume GNULIB_FTS is 1.
1022         * lib/fts.c: Likewise.
1023         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1024
1025 2010-03-28  Bruno Haible  <bruno@clisp.org>
1026
1027         Fix definition of tests witness macro.
1028         * gnulib-tool (func_import): Fix definition of witness macro.
1029
1030 2010-03-28  Bruno Haible  <bruno@clisp.org>
1031
1032         Fix ioctl's protoype on glibc systems.
1033         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1034         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1035         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1036         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1037         signature. If not, arrange to replace the ioctl function.
1038         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1039         REPLACE_IOCTL.
1040         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1041         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1042         Reported by Ludovic Courtès <ludo@gnu.org>.
1043
1044 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1045
1046         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1047         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1048         made it so grep -r --include=GLOB* ... did not work.
1049
1050 2010-03-26  Jim Meyering  <meyering@redhat.com>
1051             Eric Blake  <eblake@redhat.com>
1052
1053         maint.mk: prohibit use of test's -o and -a operators
1054         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1055
1056 2010-03-28  Bruno Haible  <bruno@clisp.org>
1057
1058         Remove unused GNULIB_XYZ macro definitions.
1059         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1060         invocation.
1061
1062 2010-03-28  Bruno Haible  <bruno@clisp.org>
1063
1064         Mark privileged tests modules.
1065         * modules/idpriv-drop-tests (Status): New section.
1066         * modules/idpriv-droptemp-tests (Status): New section.
1067
1068 2010-03-28  Bruno Haible  <bruno@clisp.org>
1069
1070         Split C++ tests into separate tests modules.
1071         * modules/dirent-c++-tests: New file, extracted from
1072         modules/dirent-tests.
1073         * modules/dirent-tests: Depend on it.
1074         * modules/fcntl-h-c++-tests: New file, extracted from
1075         modules/fcntl-h-tests.
1076         * modules/fcntl-h-tests: Depend on it.
1077         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1078         * modules/glob-tests: Depend on it.
1079         * modules/iconv-h-c++-tests: New file, extracted from
1080         modules/iconv-h-tests.
1081         * modules/iconv-h-tests: Depend on it.
1082         * modules/langinfo-c++-tests: New file, extracted from
1083         modules/langinfo-tests.
1084         * modules/langinfo-tests: Depend on it.
1085         * modules/locale-c++-tests: New file, extracted from
1086         modules/locale-tests.
1087         * modules/locale-tests: Depend on it.
1088         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1089         * modules/math-tests: Depend on it.
1090         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1091         * modules/pty-tests: Depend on it.
1092         * modules/search-c++-tests: New file, extracted from
1093         modules/search-tests.
1094         * modules/search-tests: Depend on it.
1095         * modules/signal-c++-tests: New file, extracted from
1096         modules/signal-tests.
1097         * modules/signal-tests: Depend on it.
1098         * modules/spawn-c++-tests: New file, extracted from
1099         modules/spawn-tests.
1100         * modules/spawn-tests: Depend on it.
1101         * modules/stdio-c++-tests: New file, extracted from
1102         modules/stdio-tests.
1103         * modules/stdio-tests: Depend on it.
1104         * modules/stdlib-c++-tests: New file, extracted from
1105         modules/stdlib-tests.
1106         * modules/stdlib-tests: Depend on it.
1107         * modules/string-c++-tests: New file, extracted from
1108         modules/string-tests.
1109         * modules/string-tests: Depend on it.
1110         * modules/sys_ioctl-c++-tests: New file, extracted from
1111         modules/sys_ioctl-tests.
1112         * modules/sys_ioctl-tests: Depend on it.
1113         * modules/sys_select-c++-tests: New file, extracted from
1114         modules/sys_select-tests.
1115         * modules/sys_select-tests: Depend on it.
1116         * modules/sys_socket-c++-tests: New file, extracted from
1117         modules/sys_socket-tests.
1118         * modules/sys_socket-tests: Depend on it.
1119         * modules/sys_stat-c++-tests: New file, extracted from
1120         modules/sys_stat-tests.
1121         * modules/sys_stat-tests: Depend on it.
1122         * modules/sys_time-c++-tests: New file, extracted from
1123         modules/sys_time-tests.
1124         * modules/sys_time-tests: Depend on it.
1125         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1126         * modules/time-tests: Depend on it.
1127         * modules/unistd-c++-tests: New file, extracted from
1128         modules/unistd-tests.
1129         * modules/unistd-tests: Depend on it.
1130         * modules/wchar-c++-tests: New file, extracted from
1131         modules/wchar-tests.
1132         * modules/wchar-tests: Depend on it.
1133         * modules/wctype-c++-tests: New file, extracted from
1134         modules/wctype-tests.
1135         * modules/wctype-tests: Depend on it.
1136         Reported by Simon Josefsson.
1137
1138 2010-03-28  Bruno Haible  <bruno@clisp.org>
1139
1140         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1141         * gnulib-tool (func_exists_module): New function, extracted from
1142         func_verify_module.
1143         (func_verify_module): Use it.
1144         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1145         'foo' only if 'foo' exists.
1146         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1147         module.
1148
1149 2010-03-28  Bruno Haible  <bruno@clisp.org>
1150
1151         gnulib-tool: Add support for special categories of tests.
1152         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1153         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1154         (func_usage): Document them.
1155         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1156         inc_unportable_tests, inc_all_tests): New variables.
1157         (func_acceptable): Consider these variables.
1158         (func_modules_transitive_closure): Make it work when the 'Status' field
1159         consists of multiple words.
1160         (func_import): Store and restore the values of inc_cxx_tests,
1161         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
1162         inc_all_tests in gnulib-comp.m4.
1163         (func_create_testdir): Set inc_all_tests to true.
1164         * doc/gnulib.texi (Extra tests modules): New section.
1165         Suggested by Jim Meyering.
1166
1167 2010-03-28  Bruno Haible  <bruno@clisp.org>
1168
1169         ansi-c++-opt: Allow turning off the C++ build by default.
1170         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
1171         gl_CXX_CHOICE_DEFAULT_NO is defined.
1172         Requested by Eric Blake.
1173
1174 2010-03-28  Bruno Haible  <bruno@clisp.org>
1175
1176         unistd: Avoid #define replacements in C++ mode.
1177         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1178         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1179         setsockopt, shutdown, select): In C++, attach a warning to the function
1180         if possible, rather than #defining the symbol to a dysfunctional alias.
1181         Reported by John W. Eaton <jwe@gnu.org>.
1182
1183 2010-03-28  Bruno Haible  <bruno@clisp.org>
1184
1185         Fix link errors on mingw.
1186         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1187         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1188         $(LIBSOCKET).
1189         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1190         $(LIBSOCKET).
1191
1192 2010-03-28  Bruno Haible  <bruno@clisp.org>
1193             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1194
1195         lib-ignore: Determine different options for different compilers.
1196         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1197         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1198         Add comments.
1199         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1200         * NEWS: Mention the change.
1201
1202 2010-03-27  Bruno Haible  <bruno@clisp.org>
1203
1204         Remove unused GNULIB_XYZ macro definitions.
1205         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1206         * modules/fseek (configure.ac): Likewise.
1207         * modules/ioctl (configure.ac): Likewise.
1208         * modules/open (configure.ac): Likewise.
1209         * modules/stdlib-safer (configure.ac): Likewise.
1210
1211 2010-03-27  Bruno Haible  <bruno@clisp.org>
1212
1213         Add a remark about certain modules.
1214         * modules/malloc (Comment): New section.
1215         * modules/realloc (Comment): Likewise.
1216         * modules/sigpipe (Comment): Likewise.
1217
1218 2010-03-27  Bruno Haible  <bruno@clisp.org>
1219
1220         Resolve conflict between the two kinds of module indicators.
1221         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1222         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1223         * modules/canonicalize (configure.ac): Invoke
1224         gl_MODULE_INDICATOR_FOR_TESTS.
1225         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1226         GNULIB_XYZ.
1227         * tests/test-dirent-c++.cc: Likewise.
1228         * tests/test-dirent-safer.c: Likewise.
1229         * tests/test-dup2.c: Likewise.
1230         * tests/test-fchdir.c: Likewise.
1231         * tests/test-fcntl-h-c++.cc: Likewise.
1232         * tests/test-getopt.c: Likewise.
1233         * tests/test-getopt.h: Likewise.
1234         * tests/test-langinfo-c++.cc: Likewise.
1235         * tests/test-locale-c++.cc: Likewise.
1236         * tests/test-math-c++.cc: Likewise.
1237         * tests/test-pty-c++.cc: Likewise.
1238         * tests/test-search-c++.cc: Likewise.
1239         * tests/test-signal-c++.cc: Likewise.
1240         * tests/test-spawn-c++.cc: Likewise.
1241         * tests/test-stdio-c++.cc: Likewise.
1242         * tests/test-stdlib-c++.cc: Likewise.
1243         * tests/test-string-c++.cc: Likewise.
1244         * tests/test-sys_ioctl-c++.cc: Likewise.
1245         * tests/test-sys_select-c++.cc: Likewise.
1246         * tests/test-sys_socket-c++.cc: Likewise.
1247         * tests/test-sys_stat-c++.cc: Likewise.
1248         * tests/test-sys_time-c++.cc: Likewise.
1249         * tests/test-time-c++.cc: Likewise.
1250         * tests/test-unistd-c++.cc: Likewise.
1251         * tests/test-wchar-c++.cc: Likewise.
1252         * tests/uninorm/test-u8-nfc.c: Likewise.
1253         * tests/uninorm/test-u8-nfd.c: Likewise.
1254         * tests/uninorm/test-u8-nfkc.c: Likewise.
1255         * tests/uninorm/test-u8-nfkd.c: Likewise.
1256         * tests/uninorm/test-u16-nfc.c: Likewise.
1257         * tests/uninorm/test-u16-nfd.c: Likewise.
1258         * tests/uninorm/test-u16-nfkc.c: Likewise.
1259         * tests/uninorm/test-u16-nfkd.c: Likewise.
1260         * tests/uninorm/test-u32-nfc.c: Likewise.
1261         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1262         * tests/uninorm/test-u32-nfd.c: Likewise.
1263         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1264         * tests/uninorm/test-u32-nfkc.c: Likewise.
1265         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1266         * tests/uninorm/test-u32-nfkd.c: Likewise.
1267         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1268         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1269
1270 2010-03-27  Bruno Haible  <bruno@clisp.org>
1271
1272         Distinguish two kinds of module indicators.
1273         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1274         gl_MODULE_INDICATOR.
1275         (gl_MODULE_INDICATOR): New macro.
1276         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1277         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1278         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1279         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1280         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1281         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1282         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1283         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1284         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1285         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1286         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1287         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1289         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1290         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1291         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1292         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1293         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1294         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1295         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1296         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1297         * modules/cloexec (configure.ac): Likewise.
1298         * modules/getopt-gnu (configure.ac): Likewise.
1299         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1300         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1301         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1302         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1303
1304 2010-03-27  Bruno Haible  <bruno@clisp.org>
1305
1306         New module description field 'Comment'.
1307         * gnulib-tool: New option --extract-comment.
1308         (func_usage): Document it.
1309         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1310         (func_get_comment): New function.
1311         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1312
1313 2010-03-27  Bruno Haible  <bruno@clisp.org>
1314
1315         Addendum to 2010-02-07 commit.
1316         * gnulib-tool (func_usage): Document --extract-applicability option.
1317
1318 2010-03-27  Bruno Haible  <bruno@clisp.org>
1319
1320         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1321         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1322         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1323         rather than link errors.
1324
1325 2010-03-27  Bruno Haible  <bruno@clisp.org>
1326
1327         Avoid side effects from tests-related modules on the compilation of lib.
1328         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1329         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1330         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1331         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1332         macro.
1333         (func_import): Define a witness macro. Assign it a value that depends
1334         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1335         tests-related modules.
1336         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1337         Reported by Jim Meyering.
1338
1339 2010-03-27  Bruno Haible  <bruno@clisp.org>
1340
1341         Factorize common .m4 code.
1342         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1343         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1344         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1345         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1346         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1347         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1348         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1349         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1350         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1351         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1352         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1353         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1354         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1355         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1356         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1357         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1358         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1359         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1360         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1361         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1362         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1363         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1364         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1365         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1366         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1367         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1368         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1369         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1370         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1371         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1372         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1373         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1374
1375 2010-03-27  Bruno Haible  <bruno@clisp.org>
1376
1377         Fix a compilation error on Cygwin with g++ >= 4.3.
1378         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1379         if it is undefined or if we alias it to chmod.
1380         (lstat): Don't warn about the use of this function if it is undefined
1381         or if we alias it to stat.
1382         Reported by Simon Josefsson.
1383
1384 2010-03-27  Bruno Haible  <bruno@clisp.org>
1385
1386         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1387         * modules/getlogin (configure.ac): Update.
1388
1389         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1390         * modules/getlogin_r (configure.ac): Update.
1391
1392         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1393         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1394         * modules/inet_ntop (configure.ac): Update.
1395
1396         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1397         * modules/inet_pton (configure.ac): Update.
1398
1399         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1400         * modules/mbslen (configure.ac): Update.
1401
1402         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1403         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1404         * modules/forkpty (configure.ac): Update.
1405         * modules/openpty (configure.ac): Update.
1406
1407 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1408
1409         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1410         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1411
1412 2010-03-25  Eric Blake  <eblake@redhat.com>
1413
1414         maint: use pragma consistently across replacement headers
1415         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1416         * lib/dirent.in.h (system_header): Likewise.
1417         * lib/errno.in.h (system_header): Likewise.
1418         * lib/float.in.h (system_header): Likewise.
1419         * lib/getopt.in.h (system_header): Likewise.
1420         * lib/iconv.in.h (system_header): Likewise.
1421         * lib/inttypes.in.h (system_header): Likewise.
1422         * lib/langinfo.in.h (system_header): Likewise.
1423         * lib/locale.in.h (system_header): Likewise.
1424         * lib/math.in.h (system_header): Likewise.
1425         * lib/netdb.in.h (system_header): Likewise.
1426         * lib/netinet_in.in.h (system_header): Likewise.
1427         * lib/pty.in.h (system_header): Likewise.
1428         * lib/sched.in.h (system_header): Likewise.
1429         * lib/se-selinux.in.h (system_header): Likewise.
1430         * lib/search.in.h (system_header): Likewise.
1431         * lib/spawn.in.h (system_header): Likewise.
1432         * lib/stdarg.in.h (system_header): Likewise.
1433         * lib/stdint.in.h (system_header): Likewise.
1434         * lib/string.in.h (system_header): Likewise.
1435         * lib/strings.in.h (system_header): Likewise.
1436         * lib/sys_file.in.h (system_header): Likewise.
1437         * lib/sys_ioctl.in.h (system_header): Likewise.
1438         * lib/sys_socket.in.h (system_header): Likewise.
1439         * lib/sys_times.in.h (system_header): Likewise.
1440         * lib/sys_utsname.in.h (system_header): Likewise.
1441         * lib/sys_wait.in.h (system_header): Likewise.
1442         * lib/sysexits.in.h (system_header): Likewise.
1443         * lib/unistd.in.h (system_header): Likewise.
1444         * lib/wctype.in.h (system_header): Likewise.
1445
1446         arpa/inet: fix mingw compilation warning
1447         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1448         Reported by Matthew Bolte.
1449
1450 2010-03-25  Bruno Haible  <bruno@clisp.org>
1451
1452         Avoid collision between gnulib wrapper and libintl wrapper.
1453         * lib/printf.c (printf): Don't define if a printf wrapper is already
1454         defined in intl/printf.c.
1455         Reported by Michel Boaventura <michel@michelboaventura.com>.
1456
1457 2010-03-25  Bruno Haible  <bruno@clisp.org>
1458
1459         Use ANSI C.
1460         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1461
1462 2010-03-25  Bruno Haible  <bruno@clisp.org>
1463
1464         Minor formatting changes.
1465         * lib/acosl.c: Insert space before function argument list.
1466         * lib/argz.c: Likewise.
1467         * lib/asinl.c: Likewise.
1468         * lib/expl.c: Likewise.
1469         * lib/gen-uni-tables.c: Likewise.
1470         * lib/gettext.h: Likewise.
1471         * lib/glthread/lock.h: Likewise.
1472         * lib/tanl.c: Likewise.
1473         * lib/uniname/uniname.c: Likewise.
1474         * tests/test-idpriv-drop.c: Likewise.
1475         * tests/test-idpriv-droptemp.c: Likewise.
1476         * tests/test-lock.c: Likewise.
1477         * tests/test-tls.c: Likewise.
1478         * lib/argp-help.c: Insert space before function-like macro argument
1479         list.
1480         * lib/memcmp.c: Likewise.
1481         * tests/test-base64.c: Likewise.
1482         * lib/localename.c: Insert space before sizeof's argument list.
1483         * lib/safe-alloc.h: Likewise.
1484         * lib/file-set.h: Insert space before macro argument list.
1485         * tests/test-argp.c: Likewise.
1486         * lib/argp-namefrob.h: Insert space before function parameter list.
1487         * lib/getaddrinfo.c: Likewise.
1488         * lib/netdb.in.h: Likewise.
1489         * lib/parse-duration.h: Likewise.
1490         * lib/parse-duration.c: Likewise.
1491         * lib/poll.c: Likewise.
1492         * lib/select.c: Likewise.
1493         * lib/trim.h: Likewise.
1494         * tests/test-usleep.c: Likewise.
1495         * lib/ldexpl.c: Insert space before function parameter list and before
1496         function argument list.
1497         * lib/logl.c: Likewise.
1498         * lib/sqrtl.c: Likewise.
1499         * lib/trim.c: Likewise.
1500         * lib/cosl.c: Use GNU style indentation. Insert space before function
1501         argument list.
1502         * lib/sinl.c: Likewise.
1503         * lib/tsearch.c: Insert space after 'for'.
1504         Reported by Jim Meyering.
1505
1506 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1507
1508         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1509         config header before grepping, as it's not present before
1510         autoreconf/configure are run.  Reported by Simon Josefsson.
1511
1512 2010-03-23  Bruno Haible  <bruno@clisp.org>
1513
1514         pt_chown: Make it work with automake < 1.11.
1515         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1516         Reported by Simon Josefsson.
1517
1518 2010-03-23  Bruno Haible  <bruno@clisp.org>
1519
1520         pt_chown: Don't depend on GPLed modules.
1521         * lib/pt_chown.c: Don't include idpriv.h.
1522         (main): Don't drop privileges.
1523         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1524         Reported by Simon Josefsson.
1525
1526 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1527
1528         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1529         suggestions from karl@freefriends.org (Karl Berry).
1530
1531 2010-03-22  Eric Blake  <eblake@redhat.com>
1532
1533         gethostname: further tweaks
1534         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1535         are overriding gethostname.
1536         Suggested by Bruno Haible.
1537
1538 2010-03-21  Bruno Haible  <bruno@clisp.org>
1539
1540         Fix comments.
1541         * lib/forkpty.c (rpl_forkpty): Fix comment.
1542         * lib/openpty.c (rpl_openpty): Likewise.
1543         Reported by Eric Blake.
1544
1545 2010-03-22  Eric Blake  <eblake@redhat.com>
1546
1547         gethostname: fix build on mingw
1548         * lib/unistd.in.h (includes): Work around fact that mingw
1549         <winsock2.h> re-includes <unistd.h>, by avoiding any
1550         redeclarations if we are being included by <winsock2.h>.
1551         Reported by Matthias Bolte.
1552
1553 2010-03-21  Bruno Haible  <bruno@clisp.org>
1554
1555         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1556         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1557         modifications.
1558         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1559         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1560         provide the replacement.
1561         * modules/forkpty (Depends-on): Add openpty, login_tty.
1562         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1563         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1564         * doc/glibc-functions/forkpty.texi: More supported platforms.
1565         * config/srclist.txt: Add forkpty.c (commented).
1566
1567 2010-03-21  Bruno Haible  <bruno@clisp.org>
1568
1569         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1570         (Makefile.am): Verify that PTY_LIB is defined.
1571
1572         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1573
1574 2010-03-21  Bruno Haible  <bruno@clisp.org>
1575
1576         Tests for module 'login_tty'.
1577         * modules/login_tty-tests: New file.
1578         * tests/test-login_tty.c: New file.
1579
1580         New module 'login_tty'.
1581         * lib/login_tty.c: New file.
1582         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1583         * modules/login_tty: New file.
1584         * doc/glibc-functions/login_tty.texi: Mention the new module.
1585
1586 2010-03-21  Bruno Haible  <bruno@clisp.org>
1587
1588         login_tty: Documentation.
1589         * doc/glibc-functions/login_tty.texi: New file.
1590         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1591
1592 2010-03-21  Bruno Haible  <bruno@clisp.org>
1593
1594         pty: Consistent macro naming.
1595         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1596         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1597         * modules/pty (configure.ac): Update.
1598
1599 2010-03-21  Bruno Haible  <bruno@clisp.org>
1600
1601         Tests for openpty: Make stricter.
1602         * tests/test-openpty.c (main): Add test of canonical processing and
1603         erase.
1604         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1605
1606         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1607         * lib/openpty.c (openpty): New replacement function.
1608         * lib/pty.in.h: Include <termios.h>.
1609         (openpty): Update declaration. Add comments.
1610         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1611         is not declared, arrange to provide the replacement. Check for _getpty
1612         and posix_openpt.
1613         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1614         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1615         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1616         * modules/pty-tests (test_pty_c___LDADD): New variable.
1617         * doc/glibc-functions/openpty.texi: More supported platforms.
1618
1619 2010-03-21  Bruno Haible  <bruno@clisp.org>
1620
1621         setenv: Tweaks.
1622         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1623         the test program.
1624         * doc/posix-functions/setenv.texi: Update platforms list.
1625
1626 2010-03-21  Bruno Haible  <bruno@clisp.org>
1627
1628         New module 'unlockpt'.
1629         * lib/unlockpt.c: New file, from glibc with modifications.
1630         * m4/unlockpt.m4: New file.
1631         * modules/unlockpt: New file.
1632         * lib/stdlib.in.h (unlockpt): New declaration.
1633         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1634         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1635         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1636         HAVE_UNLOCKPT.
1637         * doc/posix-functions/unlockpt.texi: Mention the new module.
1638         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
1639         * config/srclist.txt: Add unlockpt.c (commented).
1640
1641 2010-03-21  Jim Meyering  <meyering@redhat.com>
1642
1643         maint.mk: prohibit inclusion of "intprops.h" without use
1644         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
1645
1646 2010-03-21  Bruno Haible  <bruno@clisp.org>
1647
1648         New module 'grantpt'.
1649         * lib/grantpt.c: New file, from glibc with modifications.
1650         * m4/grantpt.m4: New file.
1651         * modules/grantpt: New file.
1652         * lib/stdlib.in.h (grantpt): New declaration.
1653         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
1654         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
1655         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
1656         HAVE_GRANTPT.
1657         * doc/posix-functions/grantpt.texi: Mention the new module.
1658         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
1659         * config/srclist.txt: Add grantpt.c (commented).
1660
1661 2010-03-21  Bruno Haible  <bruno@clisp.org>
1662
1663         New module 'pt_chown'.
1664         * lib/pt_chown.c: New file, from glibc with modifications.
1665         * lib/pty-private.h: New file, from glibc with modifications.
1666         * modules/pt_chown: New file.
1667         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
1668
1669 2010-03-21  Bruno Haible  <bruno@clisp.org>
1670
1671         Tests for module 'ptsname'.
1672         * modules/ptsname-tests: New file.
1673         * tests/test-ptsname.c: New file.
1674
1675         New module 'ptsname'.
1676         * lib/ptsname.c: New file, from glibc with modifications.
1677         * m4/ptsname.m4: New file.
1678         * modules/ptsname: New file.
1679         * lib/stdlib.in.h (ptsname): New declaration.
1680         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
1681         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
1682         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
1683         HAVE_PTSNAME.
1684         * doc/posix-functions/ptsname.texi: Mention the new module.
1685         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
1686         * config/srclist.txt: Add ptsname.c (commented).
1687
1688 2010-03-21  Bruno Haible  <bruno@clisp.org>
1689
1690         Tests for module 'ttyname_r'.
1691         * modules/ttyname_r-tests: New file.
1692         * tests/test-ttyname_r.c: New file.
1693
1694         New module 'ttyname_r'.
1695         * lib/ttyname_r.c: New file.
1696         * m4/ttyname_r.m4: New file.
1697         * modules/ttyname_r: New file.
1698         * lib/unistd.in.h (ttyname_r): New declaration.
1699         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
1700         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
1701         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
1702         HAVE_TTYNAME_R.
1703         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
1704         * doc/posix-functions/ttyname_r.texi: Mention the new module.
1705
1706 2010-03-20  Bruno Haible  <bruno@clisp.org>
1707
1708         signal: Undefine macro definitions in C++ mode.
1709         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
1710         sigfillset): Undefine macro definitions from the system header in C++
1711         mode.
1712         Reported by John W. Eaton <jwe@gnu.org>.
1713
1714 2010-03-20  Bruno Haible  <bruno@clisp.org>
1715
1716         Ensure no #include statements inside extern "C" { ... }.
1717         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
1718         contain #include statements.
1719         * lib/time.in.h: Likewise.
1720
1721 2010-03-20  Bruno Haible  <bruno@clisp.org>
1722
1723         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
1724         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
1725         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
1726         Reported by John W. Eaton <jwe@gnu.org>.
1727
1728 2010-03-20  Bruno Haible  <bruno@clisp.org>
1729
1730         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
1731         Reported by Jim Meyering.
1732
1733 2010-03-20  Bruno Haible  <bruno@clisp.org>
1734
1735         pipe: Set errno upon failure.
1736         * lib/pipe.h: Specify that when -1 is returned, errno is set.
1737         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
1738         errno value in error message.
1739
1740 2010-03-20  Bruno Haible  <bruno@clisp.org>
1741             Jim Meyering  <meyering@redhat.com>
1742
1743         lchown: Avoid "unused variable" warning.
1744         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
1745
1746 2010-03-20  Bruno Haible  <bruno@clisp.org>
1747
1748         Work around unlink() bug on MacOS X 10.5.6.
1749         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
1750         attempting to unlink a parent directory.
1751         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
1752         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
1753         activate for the replacement function.
1754         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
1755
1756 2010-03-20  Bruno Haible  <bruno@clisp.org>
1757
1758         Fix link errors on Solaris 8.
1759         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
1760         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
1761
1762 2010-03-19  Jim Meyering  <meyering@redhat.com>
1763
1764         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
1765         The _LIBC implementation of build_range_exp correctly honors the
1766         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
1767         However, the non-_LIBC implementation would ignore that syntax-bit
1768         flag and return REG_ERANGE unconditionally.
1769         This change makes it honor that flag.
1770         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
1771         Make two pointer parameters "const".
1772         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
1773         (parse_bracket_exp): Update caller.
1774
1775         regex.m4: correct the reversed range endpoint ([b-a]) test
1776         * m4/regex.m4: When requiring that [b-a] evoke failure,
1777         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
1778         test pass once again for x86-based systems.
1779
1780 2010-03-19  Bruno Haible  <bruno@clisp.org>
1781
1782         scandir: Fix link error on Solaris 8.
1783         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
1784         macros.
1785
1786 2010-03-19  Bruno Haible  <bruno@clisp.org>
1787
1788         getusershell: Fix documentation.
1789         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
1790         module.
1791         * doc/glibc-functions/setusershell.texi: Likewise.
1792
1793         getusershell: Provide declaration, missing on Solaris 9.
1794         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
1795         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
1796         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
1797         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
1798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1799         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
1800         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
1801         HAVE_GETUSERSHELL.
1802         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
1803
1804 2010-03-19  Bruno Haible  <bruno@clisp.org>
1805
1806         wctype: Provide iswblank function.
1807         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
1808         exists and is fine.
1809         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
1810         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
1811         * tests/test-wctype.c (main): Re-enable the iswblank tests.
1812         * doc/posix-functions/iswblank.texi: Update.
1813
1814 2010-03-19  Bruno Haible  <bruno@clisp.org>
1815
1816         Tests of module 'pty' in C++ mode.
1817         * modules/pty-tests: New file.
1818         * tests/test-pty-c++.cc: New file.
1819         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
1820
1821 2010-03-19  Eric Blake  <eblake@redhat.com>
1822
1823         logb: fix documentation
1824         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
1825         1.5 declaration bug.
1826
1827         forkpty, openpty: prefer glibc's const-safe prototype
1828         * lib/forkpty.c (rpl_forkpty): New file.
1829         * lib/openpty.c (rpl_openpty): Likewise.
1830         * modules/forkpty (Files): Distribute it.
1831         * modules/openpty (Files): Likewise.
1832         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
1833         check...
1834         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
1835         replacement for for non-const BSD signature.
1836         * modules/pty (Makefile.am): Substitute witnesses.
1837         * lib/pty.in.h (forkpty, openpty): Declare replacements.
1838         * tests/test-forkpty.c: Update signature check.
1839         * tests/test-openpty.c: Likewise.
1840         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
1841         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1842
1843         forkpty, openpty: split functions into new modules
1844         * modules/pty (Makefile.am): Substitute new witnesses.
1845         (Libraries): Move library detection...
1846         * modules/forkpty: ...into new module.
1847         * modules/openpty: Another new module.
1848         * modules/pty-tests: Rename and split...
1849         * modules/forkpty-tests: ...to this...
1850         * modules/openpty-tests: ...and this.
1851         * tests/test-pty.c: Rename and split...
1852         * tests/test-forkpty.c: ...to this...
1853         * tests/test-openpty.c: ...and this.
1854         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
1855         (gl_PTY): Split library searching...
1856         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
1857         (gl_FORKPTY, gl_OPENPTY): New macros.
1858         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
1859         * NEWS: Mention the split.
1860         * MODULES.html.sh (Misc): Document the modules.
1861         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
1862         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1863
1864         pty: improve replacement header
1865         * lib/pty.in.h: New file.
1866         * modules/pty (Files): Ship it.
1867         (Makefile.am): Always build replacement.
1868         * m4/pty.m4: Rename...
1869         * m4/pty_h.m4: ...to this.
1870         (gl_PTY): Modernize setting of witness macros; update check of
1871         forkpty to take proper advantage of cache.
1872         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
1873
1874         getopt: avoid compiler warning
1875         * lib/getopt.c (attribute_hidden): Remove unused macro.
1876
1877 2010-03-18  Bruno Haible  <bruno@clisp.org>
1878
1879         Fix link errors on Solaris 8.
1880         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
1881         * modules/search-tests (test_search_c___LDADD): Likewise.
1882         * modules/signal-tests (test_signal_c___LDADD): Likewise.
1883         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
1884         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
1885         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
1886         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
1887         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
1888         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
1889
1890 2010-03-18  Bruno Haible  <bruno@clisp.org>
1891
1892         Fix bug introduced on 2010-03-14.
1893         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
1894         (gl_SPAWN_H): Require it.
1895         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
1896         Reported by Simon Josefsson.
1897
1898 2010-03-18  Bruno Haible  <bruno@clisp.org>
1899
1900         Fix typo introduced on 2009-12-31.
1901         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
1902         posix_spawn_file_actions_adddup2.
1903
1904 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
1905         and Eric Blake  <eblake@redhat.com>
1906
1907         test-vc-list-files-git: make more robust
1908         * tests/test-vc-list-files-git.sh: Unset problematic environment
1909         variables.  Chain commands together.
1910
1911 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
1912
1913         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
1914         `AC_CHECK_DECL' invocation.
1915
1916 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
1917
1918         * lib/inttostr.c (inttostr): Make sure the invocation of verify
1919         appears before executable statements. Suggested by Petr Sumbera
1920         <Petr.Sumbera@Sun.COM>.
1921
1922 2010-03-14  Bruno Haible  <bruno@clisp.org>
1923
1924         * tests/test-flock.c (test_exclusive): Comment out a test that causes
1925         portability problems. Instead use a simpler test.
1926         (main): Check that invalid arguments are rejected only on Linux.
1927
1928 2010-03-14  Bruno Haible  <bruno@clisp.org>
1929
1930         Fix bug introduced on 2009-12-31.
1931         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
1932         gl_PREREQ_SYS_H_WINSOCK2 always.
1933         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
1934         SYS_SOCKET_H variable.
1935         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
1936         Update comments.
1937         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
1938         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1939         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1940         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1941         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
1942
1943 2010-03-14  Bruno Haible  <bruno@clisp.org>
1944
1945         Fix values returned by sinl, cosl.
1946         * lib/trigl.h: Add specification comments.
1947         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
1948         that combines the values from the precomputed table with the values of
1949         the Chebyshev polynomials.
1950
1951 2010-03-14  Bruno Haible  <bruno@clisp.org>
1952
1953         Fix compilation error when modules 'posix_spawn[p]' are not used.
1954         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
1955         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
1956
1957 2010-03-14  Bruno Haible  <bruno@clisp.org>
1958
1959         Fix compilation error on mingw when module 'time_r' is not used.
1960         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
1961         is 1.
1962         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
1963         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
1964         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
1965         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
1966
1967 2010-03-14  Bruno Haible  <bruno@clisp.org>
1968
1969         Fix compilation error with Sun C.
1970         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
1971         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
1972         instead of GCC specific ULONG_LONG_MAX.
1973         * lib/xstrtoll.c: Likewise.
1974         * lib/xstrtoull.c: Likewise.
1975
1976 2010-03-13  Bruno Haible  <bruno@clisp.org>
1977
1978         Allow the user to disable C++ code and tests.
1979         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
1980         (gl_PROG_ANSI_CXX): Require it.
1981
1982 2010-03-13  Bruno Haible  <bruno@clisp.org>
1983
1984         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
1985         cases.
1986
1987 2010-03-13  Bruno Haible  <bruno@clisp.org>
1988
1989         Test that gnulib does not break the standard C++ headers.
1990         * tests/test-locale-c++2.cc: New file.
1991         * modules/locale-tests (Files): Add it.
1992         (Makefile.am): Compile it for test-locale-c++.
1993         * tests/test-math-c++2.cc: New file.
1994         * modules/math-tests (Files): Add it.
1995         (Makefile.am): Compile it for test-math-c++.
1996         * tests/test-signal-c++2.cc: New file.
1997         * modules/signal-tests (Files): Add it.
1998         (Makefile.am): Compile it for test-signal-c++.
1999         * tests/test-stdio-c++2.cc: New file.
2000         * modules/stdio-tests (Files): Add it.
2001         (Makefile.am): Compile it for test-stdio-c++.
2002         * tests/test-stdlib-c++2.cc: New file.
2003         * modules/stdlib-tests (Files): Add it.
2004         (Makefile.am): Compile it for test-stdlib-c++.
2005         * tests/test-string-c++2.cc: New file.
2006         * modules/string-tests (Files): Add it.
2007         (Makefile.am): Compile it for test-string-c++.
2008         * tests/test-time-c++2.cc: New file.
2009         * modules/time-tests (Files): Add it.
2010         (Makefile.am): Compile it for test-time-c++.
2011         Reported by John W. Eaton <jwe@gnu.org>.
2012
2013 2010-03-13  Bruno Haible  <bruno@clisp.org>
2014
2015         * gnulib-tool (func_usage): Clarify which options are available for
2016         --create-testdir and --create-megatestdir.
2017
2018 2010-03-13  Bruno Haible  <bruno@clisp.org>
2019
2020         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2021         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2022         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2023         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2024         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2025         when appropriate.
2026         Reported by Jim Meyering.
2027
2028 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2029
2030         * gnulib-tool (func_import): Explain origin of code.
2031
2032 2010-03-12  Bruno Haible  <bruno@clisp.org>
2033
2034         Fix problem with automake's definition of CXXLINK.
2035         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2036         Reported by Simon Josefsson and Ludovic Courtès.
2037
2038 2010-03-12  Bruno Haible  <bruno@clisp.org>
2039
2040         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2041         stable releases.
2042
2043 2010-03-11  Bruno Haible  <bruno@clisp.org>
2044
2045         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2046         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2047         whether the system provides one variant or multiple variants of the
2048         function.
2049         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2050         C++ compilers.
2051         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2052         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2053         Reported by Jim Meyering.
2054
2055 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2056
2057         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2058
2059 2010-03-08  Bruno Haible  <bruno@clisp.org>
2060
2061         gnulib-tool: Add support for --libtool in --create-testdir.
2062         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2063         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2064
2065 2010-03-08  Eric Blake  <eblake@redhat.com>
2066
2067         gnulib-tool.texi: mention possibility of git submodule
2068         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2069         submodules.
2070         * doc/.gitignore: Ignore another generated file.
2071
2072 2010-03-08  Karl Berry  <karl@gnu.org>
2073
2074         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2075         of committing gnulib files while skipping others.
2076
2077 2010-03-07  Bruno Haible  <bruno@clisp.org>
2078
2079         Tests of module 'wctype' in C++ mode.
2080         * tests/test-wctype-c++.cc: New file.
2081         * modules/wctype-tests (Files): Add it and tests/signature.h.
2082         (Depends-on): Add ansi-c++-opt.
2083         (Makefile.am): Arrange to compile and run test-wctype-c++.
2084
2085         Tests of module 'wchar' in C++ mode.
2086         * tests/test-wchar-c++.cc: New file.
2087         * modules/wchar-tests (Files): Add it and tests/signature.h.
2088         (Depends-on): Add ansi-c++-opt.
2089         (Makefile.am): Arrange to compile and run test-wchar-c++.
2090         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2091         gl_MODULE_INDICATOR.
2092
2093         Tests of module 'unistd' in C++ mode.
2094         * tests/test-unistd-c++.cc: New file.
2095         * modules/unistd-tests (Files): Add it and tests/signature.h.
2096         (Depends-on): Add ansi-c++-opt.
2097         (Makefile.am): Arrange to compile and run test-unistd-c++.
2098         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2099         gl_MODULE_INDICATOR.
2100
2101         Tests of module 'time' in C++ mode.
2102         * tests/test-time-c++.cc: New file.
2103         * modules/time-tests (Files): Add it and tests/signature.h.
2104         (Depends-on): Add ansi-c++-opt.
2105         (Makefile.am): Arrange to compile and run test-time-c++.
2106         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2107
2108         Tests of module 'sys_time' in C++ mode.
2109         * tests/test-sys_time-c++.cc: New file.
2110         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2111         (Depends-on): Add ansi-c++-opt.
2112         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2113         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2114         gl_MODULE_INDICATOR.
2115
2116         Tests of module 'sys_stat' in C++ mode.
2117         * tests/test-sys_stat-c++.cc: New file.
2118         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2119         (Depends-on): Add ansi-c++-opt.
2120         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2121         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2122         gl_MODULE_INDICATOR.
2123
2124         Tests of module 'sys_socket' in C++ mode.
2125         * tests/test-sys_socket-c++.cc: New file.
2126         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2127         (Depends-on): Add ansi-c++-opt.
2128         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2129         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2130         gl_MODULE_INDICATOR.
2131
2132         Tests of module 'sys_select' in C++ mode.
2133         * tests/test-sys_select-c++.cc: New file.
2134         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2135         (Depends-on): Add ansi-c++-opt.
2136         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2137         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2138         gl_MODULE_INDICATOR.
2139
2140         Tests of module 'sys_ioctl' in C++ mode.
2141         * tests/test-sys_ioctl-c++.cc: New file.
2142         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2143         (Depends-on): Add ansi-c++-opt.
2144         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2145         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2146         gl_MODULE_INDICATOR.
2147
2148         Tests of module 'string' in C++ mode.
2149         * tests/test-string-c++.cc: New file.
2150         * modules/string-tests (Files): Add it and tests/signature.h.
2151         (Depends-on): Add ansi-c++-opt.
2152         (Makefile.am): Arrange to compile and run test-string-c++.
2153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2154         gl_MODULE_INDICATOR.
2155
2156         Tests of module 'stdlib' in C++ mode.
2157         * tests/test-stdlib-c++.cc: New file.
2158         * modules/stdlib-tests (Files): Add it and tests/signature.h.
2159         (Depends-on): Add ansi-c++-opt.
2160         (Makefile.am): Arrange to compile and run test-stdlib-c++.
2161         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
2162         gl_MODULE_INDICATOR.
2163
2164         Tests of module 'stdio' in C++ mode.
2165         * tests/test-stdio-c++.cc: New file.
2166         * modules/stdio-tests (Files): Add it and tests/signature.h.
2167         (Depends-on): Add ansi-c++-opt.
2168         (Makefile.am): Arrange to compile and run test-stdio-c++.
2169         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
2170         gl_MODULE_INDICATOR.
2171
2172         Tests of module 'spawn' in C++ mode.
2173         * tests/test-spawn-c++.cc: New file.
2174         * modules/spawn-tests (Files): Add it and tests/signature.h.
2175         (Depends-on): Add ansi-c++-opt.
2176         (Makefile.am): Arrange to compile and run test-spawn-c++.
2177         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
2178         gl_MODULE_INDICATOR.
2179
2180         Tests of module 'signal' in C++ mode.
2181         * tests/test-signal-c++.cc: New file.
2182         * modules/signal-tests (Files): Add it and tests/signature.h.
2183         (Depends-on): Add ansi-c++-opt.
2184         (Makefile.am): Arrange to compile and run test-signal-c++.
2185         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
2186         gl_MODULE_INDICATOR.
2187
2188         Tests of module 'search' in C++ mode.
2189         * tests/test-search-c++.cc: New file.
2190         * modules/search-tests (Files): Add it and tests/signature.h.
2191         (Depends-on): Add ansi-c++-opt.
2192         (Makefile.am): Arrange to compile and run test-search-c++.
2193         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2194         gl_MODULE_INDICATOR.
2195
2196         Tests of module 'math' in C++ mode.
2197         * tests/test-math-c++.cc: New file.
2198         * modules/math-tests (Files): Add it and tests/signature.h.
2199         (Depends-on): Add ansi-c++-opt.
2200         (Makefile.am): Arrange to compile and run test-math-c++.
2201         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2202
2203         Tests of module 'locale' in C++ mode.
2204         * tests/test-locale-c++.cc: New file.
2205         * modules/locale-tests (Files): Add it and tests/signature.h.
2206         (Depends-on): Add ansi-c++-opt.
2207         (Makefile.am): Arrange to compile and run test-locale-c++.
2208         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2209         gl_MODULE_INDICATOR.
2210
2211         Tests of module 'langinfo' in C++ mode.
2212         * tests/test-langinfo-c++.cc: New file.
2213         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2214         (Depends-on): Add ansi-c++-opt.
2215         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2216         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2217         gl_MODULE_INDICATOR.
2218
2219         Tests of module 'iconv-h' in C++ mode.
2220         * tests/test-iconv-h-c++.cc: New file.
2221         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2222         (Depends-on): Add ansi-c++-opt.
2223         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2224
2225         Tests of module 'glob' in C++ mode.
2226         * tests/test-glob-c++.cc: New file.
2227         * modules/glob-tests (Files): Add it.
2228         (Depends-on): Add ansi-c++-opt.
2229         (Makefile.am): Arrange to compile and run test-glob-c++.
2230
2231         Tests of module 'fcntl-h' in C++ mode.
2232         * tests/test-fcntl-h-c++.cc: New file.
2233         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2234         (Depends-on): Add ansi-c++-opt.
2235         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2236         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2237         gl_MODULE_INDICATOR.
2238
2239         Tests of module 'dirent' in C++ mode.
2240         * tests/test-dirent-c++.cc: New file.
2241         * modules/dirent-tests (Files): Add it and tests/signature.h.
2242         (Depends-on): Add ansi-c++-opt.
2243         (Makefile.am): Arrange to compile and run test-dirent-c++.
2244         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2245         gl_MODULE_INDICATOR.
2246
2247         New module 'ansi-c++-opt'.
2248         * modules/ansi-c++-opt: New file.
2249         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2250
2251         Document C++ namespace mode.
2252         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2253
2254         wctype: Avoid #define replacements in C++ mode.
2255         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2256         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2257         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2258         In C++, define a namespaced alias symbol.
2259         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2260         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2261         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2262         rule.
2263
2264         wchar: Avoid #define replacements in C++ mode.
2265         * lib/wchar.in.h: Include c++defs.h.
2266         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2267         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2268         symbol.
2269         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2270         * modules/wchar (Depends-on): Add c++defs.
2271         (Makefile.am): Update wchar.h rule.
2272
2273         unistd: Avoid #define replacements in C++ mode.
2274         * lib/unistd.in.h: Include c++defs.h.
2275         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2276         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2277         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2278         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2279         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2280         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2281         symbol.
2282         (environ): Update.
2283         * modules/unistd (Depends-on): Add c++defs.
2284         (Makefile.am): Update unistd.h rule.
2285
2286         time: Avoid #define replacements in C++ mode.
2287         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2288         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2289         define a namespaced alias symbol.
2290         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2291         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2292         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2293         * modules/time (Depends-on): Add c++defs, warn-on-use.
2294         (Makefile.am): Update time.h rule.
2295         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2296         * modules/nanosleep (configure.ac): Likewise.
2297         * modules/strptime (configure.ac): Likewise.
2298         * modules/timegm (configure.ac): Likewise.
2299
2300         sys_time: Avoid #define replacements in C++ mode.
2301         * lib/sys_time.in.h: Include c++defs.h.
2302         (gettimeofday): In C++, define a namespaced alias symbol.
2303         * modules/sys_time (Depends-on): Add c++defs.
2304         (Makefile.am): Update sys/time.h rule.
2305
2306         sys_stat: Avoid #define replacements in C++ mode.
2307         * lib/sys_stat.in.h: Include c++defs.h.
2308         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2309         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2310         namespaced alias symbol.
2311         In C++, define a namespaced alias symbol.
2312         * modules/sys_stat (Depends-on): Add c++defs.
2313         (Makefile.am): Update sys/stat.h rule.
2314
2315         sys_socket: Avoid #define replacements in C++ mode.
2316         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2317         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2318         definitions also when the system has a <sys/socket.h>.
2319         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2320         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2321         In C++, define a namespaced alias symbol.
2322         * modules/sys_socket (Depends-on): Add c++defs.
2323         (Makefile.am): Update sys/socket.h rule.
2324
2325         sys_select: Avoid #define replacements in C++ mode.
2326         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2327         definitions also when the system has a <sys/select.h>.
2328         (select): In C++, define a namespaced alias symbol.
2329         * modules/sys_select (Depends-on): Add c++defs.
2330         (Makefile.am): Update sys/select.h rule.
2331
2332         sys_ioctl: Avoid #define replacements in C++ mode.
2333         * lib/sys_ioctl.in.h: Include c++defs.h.
2334         (ioctl): In C++, define a namespaced alias symbol.
2335         * modules/sys_ioctl (Depends-on): Add c++defs.
2336         (Makefile.am): Update sys/ioctl.h rule.
2337
2338         string: Avoid #define replacements in C++ mode.
2339         * lib/string.in.h: Include c++defs.h.
2340         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2341         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2342         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2343         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2344         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2345         * modules/string (Depends-on): Add c++defs.
2346         (Makefile.am): Update string.h rule.
2347
2348         stdlib: Avoid #define replacements in C++ mode.
2349         * lib/stdlib.in.h: Include c++defs.h.
2350         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2351         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2352         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2353         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2354         symbol.
2355         * modules/stdlib (Depends-on): Add c++defs.
2356         (Makefile.am): Update stdlib.h rule.
2357
2358         stdio: Avoid #define replacements in C++ mode.
2359         * lib/stdio.in.h: Include c++defs.h.
2360         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2361         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2362         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2363         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2364         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2365         namespaced alias symbol.
2366         * modules/stdio (Depends-on): Add c++defs.
2367         (Makefile.am): Update stdio.h rule.
2368
2369         spawn: Avoid #define replacements in C++ mode.
2370         * lib/spawn.in.h: Include c++defs.h.
2371         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2372         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2373         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2374         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2375         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2376         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2377         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2378         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2379         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2380         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2381         In C++, define a namespaced alias symbol.
2382         * modules/spawn (Depends-on): Add c++defs.
2383         (Makefile.am): Update spawn.h rule.
2384
2385         signal: Avoid #define replacements in C++ mode.
2386         * lib/signal.in.h: Include c++defs.h.
2387         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2388         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2389         namespaced alias symbol.
2390         * modules/signal (Depends-on): Add c++defs.
2391         (Makefile.am): Update signal.h rule.
2392
2393         search: Avoid #define replacements in C++ mode.
2394         * lib/search.in.h: Include c++defs.h.
2395         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2396         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2397         symbol.
2398         * modules/search (Depends-on): Add c++defs.
2399         (Makefile.am): Update search.h rule.
2400
2401         math: Avoid #define replacements in C++ mode.
2402         * lib/math.in.h: Include c++defs.h.
2403         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2404         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2405         trunc, truncl): In C++, define a namespaced alias symbol.
2406         * modules/math (Depends-on): Add c++defs.
2407         (Makefile.am): Update math.h rule.
2408
2409         locale: Avoid #define replacements in C++ mode.
2410         * lib/locale.in.h: Include c++defs.h.
2411         (duplocale): In C++, define a namespaced alias symbol.
2412         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2413         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2414         * modules/locale (Depends-on): Add c++defs.
2415         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2416
2417         langinfo: Avoid #define replacements in C++ mode.
2418         * lib/langinfo.in.h: Include c++defs.h.
2419         (nl_langinfo): In C++, define a namespaced alias symbol.
2420         * modules/langinfo (Depends-on): Add c++defs.
2421         (Makefile.am): Update langinfo.h rule.
2422
2423         iconv-h: Avoid #define replacements in C++ mode.
2424         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2425         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2426         symbol.
2427         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2428         whenever iconv is present.
2429         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2430         (Makefile.am): Update iconv.h rule.
2431
2432         glob: Avoid #define replacements in C++ mode.
2433         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2434         (_gl_glob_errfunc_fn): New type.
2435         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2436         symbol.
2437         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2438         (Makefile.am): Update glob.h rule.
2439
2440         fcntl-h: Avoid #define replacements in C++ mode.
2441         * lib/fcntl.in.h: Include c++defs.h.
2442         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2443         * modules/fcntl-h (Depends-on): Add c++defs.
2444         (Makefile.am): Update fcntl.h rule.
2445
2446         dirent: Avoid #define replacements in C++ mode.
2447         * lib/dirent.in.h: Include c++defs.h.
2448         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2449         namespaced alias symbol.
2450         (dirfd): Update declaration.
2451         * modules/dirent (Depends-on): Add c++defs.
2452         (Makefile.am): Update dirent.h rule.
2453
2454         ctype: Make it usable in C++ code.
2455         * lib/ctype.in.h: Include c++defs.h.
2456         (isblank): Declare as extern "C".
2457         * modules/ctype (Depends-on): Add c++defs.
2458         (Makefile.am): Update ctype.h rule.
2459
2460         New module 'c++defs'.
2461         * modules/c++defs: New file.
2462         * build-aux/c++defs.h: New file.
2463         Reported by John W. Eaton <jwe@gnu.org>.
2464
2465 2010-03-07  Bruno Haible  <bruno@clisp.org>
2466
2467         logb: Provide missing declaration for Cygwin.
2468         * lib/math.in.h (logb): New declaration.
2469         * m4/logb.m4: New file.
2470         * modules/logb (Files): Add m4/logb.m4.
2471         (Depends-on): Add math.
2472         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2473         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2474         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2475         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2476         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2477
2478 2010-03-07  Bruno Haible  <bruno@clisp.org>
2479
2480         Fix test-cond link error.
2481         * tests/test-cond.c: Include <stdio.h>.
2482
2483 2010-03-07  Bruno Haible  <bruno@clisp.org>
2484
2485         Fix test-dirent-safer link error.
2486         * modules/dirent-safer-tests (Makefile.am): Define
2487         test_dirent_safer_LDADD.
2488
2489 2010-03-07  Bruno Haible  <bruno@clisp.org>
2490
2491         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2492         among default module list.
2493
2494 2010-03-07  Bruno Haible  <bruno@clisp.org>
2495
2496         Fix link error on platforms with GNU libiconv.
2497         * modules/unistr/u8-strcoll-tests (Makefile): Define
2498         test_u8_strcoll_LDADD.
2499         * modules/unistr/u16-strcoll-tests (Makefile): Define
2500         test_u16_strcoll_LDADD.
2501         * modules/unistr/u32-strcoll-tests (Makefile): Define
2502         test_u32_strcoll_LDADD.
2503
2504 2010-03-07  Bruno Haible  <bruno@clisp.org>
2505
2506         Use POSIX declarations for socket functions.
2507         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2508         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2509         rpl_sendto): Change declaration to match POSIX.
2510         * lib/connect.c (rpl_connect): Likewise.
2511         * lib/accept.c (rpl_accept): Likewise.
2512         * lib/bind.c (rpl_bind): Likewise.
2513         * lib/getpeername.c (rpl_getpeername): Likewise.
2514         * lib/getsockname.c (rpl_getsockname): Likewise.
2515         * lib/recv.c (rpl_recv): Likewise.
2516         * lib/send.c (rpl_send): Likewise.
2517         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2518         * lib/sendto.c (rpl_sendto): Likewise.
2519
2520 2010-03-06  Bruno Haible  <bruno@clisp.org>
2521
2522         Clarify access, euidaccess, faccessat.
2523         * doc/posix-functions/faccessat.texi: Mention security problem under
2524         "Other problems", not "Portability problems".
2525         * doc/posix-functions/access.texi: Likewise. Mention a related security
2526         problem.
2527         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2528         * lib/euidaccess.c: Add comments about platforms.
2529         * lib/unistd.in.h (access, euidaccess): Add warnings.
2530
2531 2010-03-07  Bruno Haible  <bruno@clisp.org>
2532
2533         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2534         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2535         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2536         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2537         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2538         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2539         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2540         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2541         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2542         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2543         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2544         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2545         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2546         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2547         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2548         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2549         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2550         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2551         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2552         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2553         Likewise.
2554         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2555         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2556         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2557         Likewise.
2558         * tests/test-spawn.c (main): Make it work when
2559         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2560
2561 2010-03-07  Bruno Haible  <bruno@clisp.org>
2562
2563         Fix incorrect Makefile.am generation in German locale.
2564         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2565         Execute sed command with character range in C locale.
2566
2567 2010-03-06  Bruno Haible  <bruno@clisp.org>
2568
2569         Tests for module 'iconv-h'.
2570         * modules/iconv-h-tests: New file.
2571         * tests/test-iconv-h.c: New file.
2572
2573         New module 'iconv-h'.
2574         * modules/iconv-h: New file.
2575         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2576         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2577         (configure.ac): Remove gl_ICONV_H.
2578         (Makefile.am): Remove rule for iconv.h.
2579
2580 2010-03-06  Bruno Haible  <bruno@clisp.org>
2581
2582         More consistent naming of *.m4 files.
2583         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2584         * modules/wctype (Files): Update.
2585
2586         More consistent naming of *.m4 files.
2587         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2588         * modules/wchar (Files): Update.
2589
2590 2010-03-06  Jim Meyering  <meyering@redhat.com>
2591
2592         euidaccess: relax license to LGPLv2+
2593         * modules/euidaccess (License): Relax to LGPLv2+.
2594
2595 2010-03-06  Bruno Haible  <bruno@clisp.org>
2596
2597         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2598         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2599         (Makefile.am): Augment lib_SOURCES instead.
2600
2601 2010-03-04  Jim Meyering  <meyering@redhat.com>
2602
2603         utime: remove obsolete module
2604         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2605         unnecessary for years, and has been marked as obsolete for 10 months.
2606         * modules/utime: Remove file.
2607         * lib/utime.c: Remove file.
2608         * m4/utime.m4: Remove file.
2609         * m4/utimes-null.m4: Remove file.
2610         * doc/posix-functions/utime.texi (utime): Remove reference to
2611         the module.  Move the sole "fixed by gnulib" item into the
2612         "problems not fixed by Gnulib" list.
2613         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2614
2615 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2616
2617         * modules/exit (License): Relax license to LGPLv2+.
2618         (Status): Mark as obsolete.
2619         * NEWS: Mention deprecated 'exit' module.
2620         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2621         of now obsolete 'exit'.
2622
2623 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2624
2625         fts-lgpl: remove unused module
2626         * modules/fts-lgpl: Remove.
2627         * MODULES.html.sh (func_all_modules): Adjust.
2628         * check-module (find_included_lib_files): Adjust.
2629         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2630
2631 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2632
2633         copy-acl: enhance Solaris ACL error handling
2634         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2635         * lib/set-mode-acl.c (qset_acl): Likewise.
2636
2637 2010-03-02  Bruno Haible  <bruno@clisp.org>
2638
2639         spawn: Don't override the system defined values on FreeBSD 8.
2640         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
2641         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
2642         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
2643         if HAVE_POSIX_SPAWN is 1.
2644         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
2645
2646 2010-03-01  Bruno Haible  <bruno@clisp.org>
2647
2648         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
2649         regarding Automake.
2650
2651 2010-02-25  Bruno Haible  <bruno@clisp.org>
2652
2653         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
2654         * gnulib-tool: Define 'echo' as a function only before the ksh alias
2655         setting, not afterwards.
2656         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2657
2658 2010-02-24  Eric Blake  <eblake@redhat.com>
2659
2660         bootstrap, git-version-gen: use timestamp
2661         * build-aux/git-version-gen (scriptversion): Force UTC.
2662         * build-aux/bootstrap (scriptversion): New variable.
2663
2664         bootstrap: allow older git
2665         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
2666         older than 1.6.4.  Requested by the libvirt project.
2667
2668 2010-02-23  Eric Blake  <eblake@redhat.com>
2669
2670         warn-on-use: work with old autoconf
2671         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
2672         AS_VAR semantics of autoconf 2.60.
2673         Reported by Bruno Haible.
2674
2675         bootstrap: improve some comments
2676         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
2677         clarification comments.
2678
2679         gettimeofday: provide correct function
2680         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
2681         when replacement is declared, otherwise provide gettimeofday.
2682         Reported by Michael Goffioul.
2683
2684 2010-02-23  Jim Meyering  <meyering@redhat.com>
2685
2686         lib-ignore: relax license to "unlimited", not LGPLv2+
2687         * modules/lib-ignore (License): Relax to "unlimited".
2688
2689 2010-02-23  Jim Meyering  <meyering@redhat.com>
2690
2691         lib-ignore: relax license to LGPLv2+
2692         * modules/lib-ignore (License): Relax to LGPLv2+.
2693
2694 2010-02-22  Eric Blake  <eblake@redhat.com>
2695
2696         lseek: avoid bash 3.2 broken pipe bug
2697         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
2698         warning from bash 3.2.
2699         Reported by Ben Pfaff, with analysis from Bruno Haible.
2700
2701         bootstrap: support non-FSF copyright holder
2702         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
2703         bootstrap.conf override of COPYRIGHT_HOLDER.
2704         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
2705
2706         bootstrap: interoperate with gettext 0.14.1
2707         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
2708
2709         bootstrap: allow for alternate submodule location
2710         * build-aux/bootstrap (gnulib_path): New variable; use instead of
2711         hardcoding submodule location.
2712         (gnulib_mk): Allow direct use of Makefile.am.
2713
2714         bootstrap: use GNULIB_SRCDIR to reduce disk usage
2715         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
2716         rather than reconfiguring where the submodule points.
2717
2718         gettimeofday: restore support for platforms that lack function
2719         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
2720         replacement if function is missing.
2721         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
2722         * modules/sys_time (Makefile.am): Substitute it.
2723         * lib/sys_time.in.h (gettimeofday): Check it.
2724         Reported by Michael Goffioul.
2725
2726 2010-02-21  Bruno Haible  <bruno@clisp.org>
2727
2728         * lib/stdio.in.h (obstack_printf): Fix typo.
2729
2730 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
2731
2732         vc-list-files: use bzr ls's -R option
2733         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
2734         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
2735
2736 2010-02-21  Jim Meyering  <meyering@redhat.com>
2737
2738         init.sh: fix EXEEXT shims to work also for names like test-prog
2739         * tests/init.sh: Re-exec a better shell, when needed.
2740         If the current shell lacks support for posix $(...), an init.sh-using
2741         test will now try to find a shell that supports that.  If EXEEXT is
2742         nonempty, we also require support for hyphen-in-alias-name and shell
2743         substitutions like ${var#glob}.  Failure to find such a shell results
2744         in a skipped test.
2745
2746 2010-02-21  Bruno Haible  <bruno@clisp.org>
2747
2748         Really work around around "broken pipe" error message from bash 3.2.
2749         * gnulib-tool (func_reset_sigpipe): Remove function.
2750         (echo): In bash 3.2, define to a function that uses printf.
2751         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
2752
2753 2010-02-20  Bruno Haible  <bruno@clisp.org>
2754
2755         Restore support for automake 1.9.6 with autoconf 2.61.
2756         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
2757         Reported by James Youngman <jay@gnu.org>.
2758
2759 2010-02-20  Bruno Haible  <bruno@clisp.org>
2760
2761         Improve *printf warning condition.
2762         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
2763         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
2764         and the function is overridden due to SIGPIPE emulation.
2765
2766 2010-02-20  Bruno Haible  <bruno@clisp.org>
2767
2768         * lib/stdio.in.h: Tweak comments.
2769
2770 2010-02-19  Bruno Haible  <bruno@clisp.org>
2771
2772         Make it easier to find modules. New gnulib-tool option '--find'.
2773         * gnulib-tool: New option --find.
2774         (func_usage): Document it.
2775         (func_sanitize_modulelist): New function, extracted from
2776         func_all_modules.
2777         (func_all_modules): Invoke it.
2778         * doc/gnulib-tool.texi (Which modules?): New node.
2779
2780 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
2781
2782         * lib/sys_select.in.h: Provide select replacement even if
2783         sys/select.h exists on a system, for Interix.
2784
2785 2010-02-18  Jim Meyering  <meyering@redhat.com>
2786
2787         init.sh: don't use $(...) just yet
2788         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
2789         to accommodate e.g., Solaris' /bin/sh.
2790
2791 2010-02-17  Bruno Haible  <bruno@clisp.org>
2792
2793         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
2794         Reported by Ludovic Courtès <ludo@gnu.org>.
2795
2796 2010-02-16  Simon Josefsson  <simon@josefsson.org>
2797
2798         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
2799         linking with -lintl.
2800
2801 2010-02-17  Simon Josefsson  <simon@josefsson.org>
2802
2803         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
2804         if not provided by the system's netdb.h.  Reported by
2805         ludo@gnu.org (Ludovic Courtès).
2806
2807 2010-02-15  Jim Meyering  <meyering@redhat.com>
2808
2809         init.sh: improve portability and efficiency
2810         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
2811         "dummy" in a for loop.
2812         Use '!', not '^' to select the complement of a character set used
2813         in a "case" statement.
2814         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
2815         Suggestions from Eric Blake.
2816
2817         init.sh: automatically accommodate programs with the .exe suffix
2818         Automatically arrange for an invocation of "prog" to execute the
2819         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
2820         may use the simpler "prog", yet still work when built on a system
2821         that requires specifying the added suffix.
2822         Do this by constructing a function named "prog" that invokes
2823         "prog.exe" for each .exe file in selected directories.
2824         * tests/init.sh (find_exe_basenames_): New function.
2825         (create_exe_shim_functions_): New function.
2826         (path_prepend_): Use it.
2827
2828         maint.mk: mark syntax-check sc_*.m rules as .PHONY
2829         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
2830         "make -t syntax-check" doesn't create a ton of sc_*.m files.
2831
2832 2010-02-14  Jim Meyering  <meyering@redhat.com>
2833
2834         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
2835         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
2836         (sc_prohibit_hash_pjw_without_use): New rule.
2837
2838         maint.mk: allow the default upload destination dir to be overridden
2839         * top/maint.mk (upload_dest_dir_): Define with a default that
2840         preserves the status quo.
2841         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
2842         Reported by Peter Simons.
2843
2844         maint.mk: prohibit inclusion of "hash.h" without_use
2845         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
2846
2847 2010-02-10  Jim Meyering  <meyering@redhat.com>
2848
2849         maint.mk: prohibit inclusion of "ignore-value.h" without_use
2850         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
2851
2852 2010-02-09  Eric Blake  <ebb9@byu.net>
2853         and Bruno Haible  <bruno@clisp.org>
2854
2855         obstack-printf-posix: ensure declaration
2856         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
2857         extracted from gl_FUNC_OBSTACK_PRINTF.
2858         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
2859         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
2860         Likewise.
2861         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
2862         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
2863         0.
2864
2865 2010-02-08  Bruno Haible  <bruno@clisp.org>
2866
2867         gnulib-tool: Fix typo in 2010-02-07 commit.
2868         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
2869         Reported by Eric Blake.
2870
2871 2010-02-07  Bruno Haible  <bruno@clisp.org>
2872
2873         gnulib-tool: Fix up caching patches.
2874         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
2875         option --no-cache. Use associative arrays when supported by the shell.
2876         (sed_comments): New variable.
2877         (modcache): Renamed from do_cache.
2878         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
2879         abbreviate unnecessarily.
2880         (have_associative): New variable.
2881         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
2882         way also for ksh and zsh.
2883         (func_init_sed_convert_to_cache_statements): New function, extracted
2884         from func_cache_lookup_module. Add support for associative arrays.
2885         Don't set the c_MODULE_cached variable here. Ignore all lines before
2886         the first field header. Remove only the final newline, not all trailing
2887         newlines. Support empty fields correctly. Limit the use of 'eval' to
2888         assignments.
2889         (func_get_description, func_get_status, func_get_notice,
2890         func_get_applicability, func_get_filelist, func_get_dependencies,
2891         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
2892         func_get_automake_snippet, func_get_include_directive,
2893         func_get_link_directive, func_get_license, func_get_maintainer):
2894         Update documentation. List the unoptimized code first. Add support for
2895         associative arrays. Limit the use of 'eval' to assignments.
2896         (func_get_applicability): Undo stylistic pessimisations.
2897         (func_get_automake_snippet, func_get_include_directive): Reduce code
2898         duplication.
2899         (func_modules_transitive_closure, func_modules_add_dummy,
2900         func_modules_notice, func_modules_to_filelist, func_add_file,
2901         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
2902         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
2903         func_create_testdir, func_create_megatestdir): Update documentation.
2904
2905 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2906
2907         * gnulib-tool (func_cache_lookup_module): Store the module name
2908         belonging to the cache variable; error out if two different
2909         module names map to the same cache variable name.
2910
2911 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2912
2913         gnulib-tool: Make caching optional.
2914         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
2915         Update matching short versions of --no-changelog.
2916         (func_usage): Update.
2917         (sed_extract_cache_prog): Renamed from ...
2918         (sed_extract_prog): ... this; revert to old extraction script.
2919         (func_get_description, func_get_status)
2920         (func_get_notice, func_get_applicability, func_get_filelist)
2921         (func_get_dependencies, func_get_autoconf_early_snippet)
2922         (func_get_autoconf_snippet, func_get_automake_snippet)
2923         (func_get_include_directive, func_get_link_directive)
2924         (func_get_license, func_get_maintainer): If $do_cache is false,
2925         use old, non-caching extraction scripts.
2926         Suggestion by Bruno Haible.
2927
2928 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2929
2930         gnulib-tool: cache module metainformation.
2931         * gnulib-tool (sed_extract_prog): Match newline before each
2932         header, and rewrite header to a shell variable suffix.
2933         (func_cache_var, func_cache_lookup_module): New functions,
2934         to turn a module name into a cache variable prefix, and to
2935         look up and cache module metainformation.
2936         (func_get_description, func_get_status)
2937         (func_get_notice, func_get_applicability, func_get_filelist)
2938         (func_get_dependencies, func_get_autoconf_early_snippet)
2939         (func_get_autoconf_snippet, func_get_automake_snippet)
2940         (func_get_include_directive, func_get_link_directive)
2941         (func_get_license, func_get_maintainer): Use
2942         func_cache_lookup_module.
2943
2944 2010-02-07  Bruno Haible  <bruno@clisp.org>
2945
2946         fnctl: Fix missing dependency.
2947         * modules/fcntl (Depends-on): Add getdtablesize.
2948         Reported by John W. Eaton <jwe@gnu.org>.
2949
2950 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
2951
2952         Argp: fix recognition of short alias options.
2953
2954         * lib/argp-parse.c (convert_options): Fix improper use of
2955         `|' between character values.
2956         * tests/test-argp.c (group1_option): New alias option
2957         --read (-r).
2958         (group1_parser): Special handling for 'r'.
2959         (test15): New test case.
2960         (test_fun): Add test15.
2961         * tests/test-argp-2.sh: Update expected --help and --usage
2962         outputs.
2963
2964 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
2965
2966         * tests/test-argp.c: Fix indentation.
2967
2968 2010-02-04  Eric Blake  <ebb9@byu.net>
2969
2970         gettimeofday: expose type of second argument
2971         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
2972         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
2973         * tests/test-gettimeofday.c: Use it to silence warning.
2974         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
2975         the issue.
2976
2977 2010-02-03  Jim Meyering  <meyering@redhat.com>
2978
2979         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
2980         * lib/regcomp.c (TYPE_SIGNED): Define.
2981         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
2982
2983         regcomp.c: avoid a new -Wshadow warning
2984         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
2985
2986 2010-02-01  Jim Meyering  <meyering@redhat.com>
2987
2988         removing useless parentheses in cpp #define directives
2989         For motivation, see commit c0221df4, "define STREQ(a,b)
2990         consistently, removing useless parentheses"
2991         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
2992         * lib/mountlist.c (MNT_IGNORE): Likewise.
2993         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
2994
2995 2010-02-01  Eric Blake  <ebb9@byu.net>
2996
2997         sys_time: use link-warning
2998         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
2999         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3000         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3001         * modules/sys_time (Depends-on): Add warn-on-use.
3002         (Makefile.am): Always build replacement.
3003         (configure.ac): Update substitutions.
3004         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3005         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3006         bother with SYS_TIME_H.
3007         * modules/gettimeofday (configure.ac): Declare indicator.
3008         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3009         in use.
3010
3011         closein-tests: silence compiler warning
3012         * tests/test-closein.c (main): Ignore fread result.
3013         * modules/closein-tests (Depends-on): Add ignore-value.
3014
3015         tests: silence warning about system return
3016         * tests/test-areadlink-with-size.c (main): Ignore system result.
3017         * tests/test-areadlink.c (main): Likewise.
3018         * tests/test-areadlinkat-with-size.c (main): Likewise.
3019         * tests/test-areadlinkat.c (main): Likewise.
3020         * tests/test-canonicalize-lgpl.c (main): Likewise.
3021         * tests/test-canonicalize.c (main): Likewise.
3022         * tests/test-chown.c (main): Likewise.
3023         * tests/test-fchownat.c (main): Likewise.
3024         * tests/test-fdutimensat.c (main): Likewise.
3025         * tests/test-fstatat.c (main): Likewise.
3026         * tests/test-futimens.c (main): Likewise.
3027         * tests/test-lchown.c (main): Likewise.
3028         * tests/test-link.c (main): Likewise.
3029         * tests/test-linkat.c (main): Likewise.
3030         * tests/test-lstat.c (main): Likewise.
3031         * tests/test-mkdir.c (main): Likewise.
3032         * tests/test-mkdirat.c (main): Likewise.
3033         * tests/test-mkfifo.c (main): Likewise.
3034         * tests/test-mkfifoat.c (main): Likewise.
3035         * tests/test-mknod.c (main): Likewise.
3036         * tests/test-readlink.c (main): Likewise.
3037         * tests/test-remove.c (main): Likewise.
3038         * tests/test-rename.c (main): Likewise.
3039         * tests/test-renameat.c (main): Likewise.
3040         * tests/test-rmdir.c (main): Likewise.
3041         * tests/test-symlink.c (main): Likewise.
3042         * tests/test-symlinkat.c (main): Likewise.
3043         * tests/test-unlink.c (main): Likewise.
3044         * tests/test-unlinkat.c (main): Likewise.
3045         * tests/test-utimens.c (main): Likewise.
3046         * tests/test-utimensat.c (main): Likewise.
3047         * modules/areadlink-tests (Depends-on): Add ignore-value.
3048         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3049         * modules/areadlinkat-tests (Depends-on): Likewise.
3050         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3051         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3052         * modules/canonicalize-tests (Depends-on): Likewise.
3053         * modules/chown-tests (Depends-on): Likewise.
3054         * modules/fdutimensat-tests (Depends-on): Likewise.
3055         * modules/futimens-tests (Depends-on): Likewise.
3056         * modules/lchown-tests (Depends-on): Likewise.
3057         * modules/link-tests (Depends-on): Likewise.
3058         * modules/linkat-tests (Depends-on): Likewise.
3059         * modules/lstat-tests (Depends-on): Likewise.
3060         * modules/mkdir-tests (Depends-on): Likewise.
3061         * modules/mkfifo-tests (Depends-on): Likewise.
3062         * modules/mkfifoat-tests (Depends-on): Likewise.
3063         * modules/mknod-tests (Depends-on): Likewise.
3064         * modules/openat-tests (Depends-on): Likewise.
3065         * modules/readlink-tests (Depends-on): Likewise.
3066         * modules/remove-tests (Depends-on): Likewise.
3067         * modules/rename-tests (Depends-on): Likewise.
3068         * modules/renameat-tests (Depends-on): Likewise.
3069         * modules/rmdir-tests (Depends-on): Likewise.
3070         * modules/symlink-tests (Depends-on): Likewise.
3071         * modules/symlinkat-tests (Depends-on): Likewise.
3072         * modules/unlink-tests (Depends-on): Likewise.
3073         * modules/utimens-tests (Depends-on): Likewise.
3074         * modules/utimensat-tests (Depends-on): Likewise.
3075
3076 2010-01-31  Bruno Haible  <bruno@clisp.org>
3077
3078         Perform the same test for many <math.h> functions.
3079         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3080         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3081         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3082         of gl_MATHFUNC.
3083         * modules/acos (configure.ac): Likewise.
3084         * modules/asin (configure.ac): Likewise.
3085         * modules/atan (configure.ac): Likewise.
3086         * modules/atan2 (configure.ac): Likewise.
3087         * modules/cbrt (configure.ac): Likewise.
3088         * modules/copysign (configure.ac): Likewise.
3089         * modules/cos (configure.ac): Likewise.
3090         * modules/cosh (configure.ac): Likewise.
3091         * modules/erf (configure.ac): Likewise.
3092         * modules/erfc (configure.ac): Likewise.
3093         * modules/exp (configure.ac): Likewise.
3094         * modules/fmod (configure.ac): Likewise.
3095         * modules/hypot (configure.ac): Likewise.
3096         * modules/j0 (configure.ac): Likewise.
3097         * modules/j1 (configure.ac): Likewise.
3098         * modules/jn (configure.ac): Likewise.
3099         * modules/lgamma (configure.ac): Likewise.
3100         * modules/log (configure.ac): Likewise.
3101         * modules/log10 (configure.ac): Likewise.
3102         * modules/log1p (configure.ac): Likewise.
3103         * modules/pow (configure.ac): Likewise.
3104         * modules/remainder (configure.ac): Likewise.
3105         * modules/sin (configure.ac): Likewise.
3106         * modules/sinh (configure.ac): Likewise.
3107         * modules/tan (configure.ac): Likewise.
3108         * modules/tanh (configure.ac): Likewise.
3109         * modules/y0 (configure.ac): Likewise.
3110         * modules/y1 (configure.ac): Likewise.
3111         * modules/yn (configure.ac): Likewise.
3112         Suggested by Paolo Bonzini.
3113
3114 2010-01-31  Bruno Haible  <bruno@clisp.org>
3115
3116         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3117
3118 2010-01-31  Bruno Haible  <bruno@clisp.org>
3119
3120         Work around getdelim() bug on FreeBSD 8.0.
3121         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3122         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3123         not work.
3124         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3125         is 1.
3126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3127         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3128         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3129         a non-zero size.
3130         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3131
3132 2010-01-31  Bruno Haible  <bruno@clisp.org>
3133
3134         Work around getline() bug on FreeBSD 8.0.
3135         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3136         and a non-zero size.
3137         * tests/test-getline.c (main): Likewise.
3138         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3139         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3140
3141 2010-01-28  Eric Blake  <ebb9@byu.net>
3142
3143         regex: fix build failure
3144         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3145         platforms.
3146
3147 2010-01-28  Jim Meyering  <meyering@redhat.com>
3148
3149         regex: do not ignore memory allocation failure
3150         * lib/regex_internal.c (create_cd_newstate): Detect
3151         re_node_set_init_copy failure.   Extracted from glibc commit
3152         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3153
3154         regex: sync more white-space changes from libc
3155         * lib/regex_internal.c: White-space only changes.
3156         * lib/regexec.c: Likewise.
3157
3158         regex: add many uses of __attribute_warn_unused_result__
3159         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
3160         * lib/regexec.c: Likewise.
3161         Extracted from a messy glibc commit.
3162
3163         regcomp.c: spelling and merge-artifact from glibc
3164         * lib/regcomp.c: Merge remainder of glibc's
3165         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3166
3167         regcomp.c: sync white-space changes from glibc
3168         * lib/regcomp.c: Merge to accommodate white space
3169         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3170
3171         regcomp.c: do not ignore internal return values
3172         * lib/regcomp.c: Do not ignore internal return values.
3173         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
3174         but without its white-space changes and spelling fixes.
3175
3176         regex_internal.h: define __attribute_warn_unused_result__
3177         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
3178
3179         maint: add a syntax-check rule to check for vulnerable Makefile.in
3180         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
3181
3182 2010-01-27  Jim Meyering  <meyering@redhat.com>
3183
3184         ncftpput-ftp: clean up spaces
3185         * build-aux/ncftpput-ftp: Make Copyright line consistent.
3186         Remove trailing blanks.
3187
3188 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3189
3190         * build-aux/git-version-gen: Fix copyright statement.
3191         * build-aux/gnupload: Likewise.
3192         * tests/test-arcfour.c: Likewise.
3193         * tests/test-arctwo.c: Likewise.
3194         * tests/test-count-one-bits.c: Likewise.
3195         * tests/test-crc.c: Likewise.
3196         * tests/test-des.c: Likewise.
3197         * tests/test-gc-arcfour.c: Likewise.
3198         * tests/test-gc-arctwo.c: Likewise.
3199         * tests/test-gc-des.c: Likewise.
3200         * tests/test-gc-hmac-md5.c: Likewise.
3201         * tests/test-gc-hmac-sha1.c: Likewise.
3202         * tests/test-gc-md2.c: Likewise.
3203         * tests/test-gc-md4.c: Likewise.
3204         * tests/test-gc-md5.c: Likewise.
3205         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3206         * tests/test-gc-rijndael.c: Likewise.
3207         * tests/test-gc-sha1.c: Likewise.
3208         * tests/test-gc.c: Likewise.
3209         * tests/test-gethostname.c: Likewise.
3210         * tests/test-gettimeofday.c: Likewise.
3211         * tests/test-hash.c: Likewise.
3212         * tests/test-hmac-md5.c: Likewise.
3213         * tests/test-hmac-sha1.c: Likewise.
3214         * tests/test-md2.c: Likewise.
3215         * tests/test-md4.c: Likewise.
3216         * tests/test-md5.c: Likewise.
3217         * tests/test-memchr.c: Likewise.
3218         * tests/test-memchr2.c: Likewise.
3219         * tests/test-memcmp.c: Likewise.
3220         * tests/test-memmem.c: Likewise.
3221         * tests/test-memrchr.c: Likewise.
3222         * tests/test-rawmemchr.c: Likewise.
3223         * tests/test-read-file.c: Likewise.
3224         * tests/test-rijndael.c: Likewise.
3225         * tests/test-sockets.c: Likewise.
3226         * tests/test-strchrnul.c: Likewise.
3227         * tests/test-strstr.c: Likewise.
3228         * tests/test-strtod.c: Likewise.
3229         * build-aux/ncftpput-ftp: Likewise.
3230
3231 2010-01-26  Eric Blake  <ebb9@byu.net>
3232
3233         ignore-value: update recommended header name
3234         * modules/ignore-value (Include): Only use <> for headers that
3235         exist in glibc.
3236
3237 2010-01-26  Jim Meyering  <meyering@redhat.com>
3238
3239         test-userspec.c: avoid compiler warnings
3240         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3241         and "initialization discards qualifiers..." warnings.
3242         Put the first "uid" in its own scope, and make char* members "const".
3243
3244 2010-01-25  Bruno Haible  <bruno@clisp.org>
3245
3246         gnulib-tool: Make warning diagnostics consistent.
3247         * gnulib-tool (func_warning): New function.
3248         Use it everywhere where gnulib-tool produces output to stderr and it is
3249         not a fatal error.
3250
3251 2010-01-25  Bruno Haible  <bruno@clisp.org>
3252
3253         Fix test dependencies.
3254         * modules/xstrtol-tests (Depends-on): Add inttypes.
3255         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3256
3257 2010-01-25 Pádraig Brady <P@draigBrady.com>
3258
3259         syntax-check: detect incorrect boolean macro values in config.h
3260         * modules/maintainer-makefile (configure.ac): Parameterize the location
3261         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3262         The logic is from Eric Blake and the location indicated by Jim Meyering.
3263         Note the more natural CONFIG_HEADER name is prohibited by automake
3264         for backwards compatibility reasons.
3265         * top/maint.mk (sc_Wundef_boolean): New rule.
3266
3267 2010-01-25  Jim Meyering  <meyering@redhat.com>
3268
3269         bootstrap: detect MacOS 10.6's shasum, too
3270         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3271         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3272
3273 2010-01-23  Jim Meyering  <meyering@redhat.com>
3274
3275         xstrtoll: new module
3276         * modules/xstrtoll: New file.
3277         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3278         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3279         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3280         ./configure fails if you use this module and lack "long long".
3281         * modules/xstrtoll-tests: New module.
3282         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3283         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3284         new init.sh-based test framework.
3285
3286 2010-01-24  Bruno Haible  <bruno@clisp.org>
3287
3288         Tests for module 'yn'.
3289         * modules/yn-tests: New file.
3290         * tests/test-yn.c: New file.
3291
3292         Tests for module 'y1'.
3293         * modules/y1-tests: New file.
3294         * tests/test-y1.c: New file.
3295
3296         Tests for module 'y0'.
3297         * modules/y0-tests: New file.
3298         * tests/test-y0.c: New file.
3299
3300         Tests for module 'tanh'.
3301         * modules/tanh-tests: New file.
3302         * tests/test-tanh.c: New file.
3303
3304         Tests for module 'tan'.
3305         * modules/tan-tests: New file.
3306         * tests/test-tan.c: New file.
3307
3308         Tests for module 'sqrt'.
3309         * modules/sqrt-tests: New file.
3310         * tests/test-sqrt.c: New file.
3311
3312         Tests for module 'sinh'.
3313         * modules/sinh-tests: New file.
3314         * tests/test-sinh.c: New file.
3315
3316         Tests for module 'sin'.
3317         * modules/sin-tests: New file.
3318         * tests/test-sin.c: New file.
3319
3320         Tests for module 'rint'.
3321         * modules/rint-tests: New file.
3322         * tests/test-rint.c: New file.
3323
3324         Tests for module 'remainder'.
3325         * modules/remainder-tests: New file.
3326         * tests/test-remainder.c: New file.
3327
3328         Tests for module 'pow'.
3329         * modules/pow-tests: New file.
3330         * tests/test-pow.c: New file.
3331
3332         Tests for module 'nextafter'.
3333         * modules/nextafter-tests: New file.
3334         * tests/test-nextafter.c: New file.
3335
3336         Tests for module 'modf'.
3337         * modules/modf-tests: New file.
3338         * tests/test-modf.c: New file.
3339
3340         Tests for module 'logb'.
3341         * modules/logb-tests: New file.
3342         * tests/test-logb.c: New file.
3343
3344         Tests for module 'log1p'.
3345         * modules/log1p-tests: New file.
3346         * tests/test-log1p.c: New file.
3347
3348         Tests for module 'log10'.
3349         * modules/log10-tests: New file.
3350         * tests/test-log10.c: New file.
3351
3352         Tests for module 'log'.
3353         * modules/log-tests: New file.
3354         * tests/test-log.c: New file.
3355
3356         Tests for module 'lgamma'.
3357         * modules/lgamma-tests: New file.
3358         * tests/test-lgamma.c: New file.
3359
3360         Tests for module 'ldexp'.
3361         * modules/ldexp-tests: New file.
3362         * tests/test-ldexp.c: New file.
3363
3364         Tests for module 'jn'.
3365         * modules/jn-tests: New file.
3366         * tests/test-jn.c: New file.
3367
3368         Tests for module 'j1'.
3369         * modules/j1-tests: New file.
3370         * tests/test-j1.c: New file.
3371
3372         Tests for module 'j0'.
3373         * modules/j0-tests: New file.
3374         * tests/test-j0.c: New file.
3375
3376         Tests for module 'hypot'.
3377         * modules/hypot-tests: New file.
3378         * tests/test-hypot.c: New file.
3379
3380         Tests for module 'fmod'.
3381         * modules/fmod-tests: New file.
3382         * tests/test-fmod.c: New file.
3383
3384         Tests for module 'fabs'.
3385         * modules/fabs-tests: New file.
3386         * tests/test-fabs.c: New file.
3387
3388         Tests for module 'exp'.
3389         * modules/exp-tests: New file.
3390         * tests/test-exp.c: New file.
3391
3392         Tests for module 'erfc'.
3393         * modules/erfc-tests: New file.
3394         * tests/test-erfc.c: New file.
3395
3396         Tests for module 'erf'.
3397         * modules/erf-tests: New file.
3398         * tests/test-erf.c: New file.
3399
3400         Tests for module 'cosh'.
3401         * modules/cosh-tests: New file.
3402         * tests/test-cosh.c: New file.
3403
3404         Tests for module 'cos'.
3405         * modules/cos-tests: New file.
3406         * tests/test-cos.c: New file.
3407
3408         Tests for module 'copysign'.
3409         * modules/copysign-tests: New file.
3410         * tests/test-copysign.c: New file.
3411
3412         Tests for module 'cbrt'.
3413         * modules/cbrt-tests: New file.
3414         * tests/test-cbrt.c: New file.
3415
3416         Tests for module 'atan2'.
3417         * modules/atan2-tests: New file.
3418         * tests/test-atan2.c: New file.
3419
3420         Tests for module 'atan'.
3421         * modules/atan-tests: New file.
3422         * tests/test-atan.c: New file.
3423
3424         Tests for module 'asin'.
3425         * modules/asin-tests: New file.
3426         * tests/test-asin.c: New file.
3427
3428         Tests for module 'acos'.
3429         * modules/acos-tests: New file.
3430         * tests/test-acos.c: New file.
3431
3432 2010-01-24  Bruno Haible  <bruno@clisp.org>
3433
3434         Fix tests for common <math.h> functions.
3435         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3436         code snippet that references the function pointer, rather than merely
3437         calling the function. Substitute the FUNC_LIBM variable.
3438         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3439         * modules/acos (configure.ac): Likewise.
3440         * modules/asin (configure.ac): Likewise.
3441         * modules/atan (configure.ac): Likewise.
3442         * modules/atan2 (configure.ac): Likewise.
3443         * modules/cbrt (configure.ac): Likewise.
3444         * modules/copysign (configure.ac): Likewise.
3445         * modules/cos (configure.ac): Likewise.
3446         * modules/cosh (configure.ac): Likewise.
3447         * modules/erf (configure.ac): Likewise.
3448         * modules/erfc (configure.ac): Likewise.
3449         * modules/exp (configure.ac): Likewise.
3450         * modules/fabs (configure.ac): Likewise.
3451         * modules/fmod (configure.ac): Likewise.
3452         * modules/hypot (configure.ac): Likewise.
3453         * modules/j0 (configure.ac): Likewise.
3454         * modules/j1 (configure.ac): Likewise.
3455         * modules/jn (configure.ac): Likewise.
3456         * modules/ldexp (configure.ac): Likewise.
3457         * modules/lgamma (configure.ac): Likewise.
3458         * modules/log (configure.ac): Likewise.
3459         * modules/log10 (configure.ac): Likewise.
3460         * modules/log1p (configure.ac): Likewise.
3461         * modules/logb (configure.ac): Likewise.
3462         * modules/modf (configure.ac): Likewise.
3463         * modules/nextafter (configure.ac): Likewise.
3464         * modules/pow (configure.ac): Likewise.
3465         * modules/remainder (configure.ac): Likewise.
3466         * modules/rint (configure.ac): Likewise.
3467         * modules/sin (configure.ac): Likewise.
3468         * modules/sinh (configure.ac): Likewise.
3469         * modules/tan (configure.ac): Likewise.
3470         * modules/tanh (configure.ac): Likewise.
3471         * modules/y0 (configure.ac): Likewise.
3472         * modules/y1 (configure.ac): Likewise.
3473         * modules/yn (configure.ac): Likewise.
3474
3475 2010-01-24  Bruno Haible  <bruno@clisp.org>
3476
3477         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3478         * tests/test-acosl.c (x): New variable.
3479         (main): Store argument in x and fetch it from x.
3480         * tests/test-asinl.c (x): New variable.
3481         (main): Store argument in x and fetch it from x.
3482         * tests/test-atanl.c (x): New variable.
3483         (main): Store argument in x and fetch it from x.
3484         * tests/test-cosl.c (x): New variable.
3485         (main): Store argument in x and fetch it from x.
3486         * tests/test-expl.c (x): New variable.
3487         (main): Store argument in x and fetch it from x.
3488         * tests/test-logl.c (x): New variable.
3489         (main): Store argument in x and fetch it from x.
3490         * tests/test-sinl.c (x): New variable.
3491         (main): Store argument in x and fetch it from x.
3492         * tests/test-sqrtl.c (x): New variable.
3493         (main): Store argument in x and fetch it from x.
3494         * tests/test-tanl.c (x): New variable.
3495         (main): Store argument in x and fetch it from x.
3496
3497 2010-01-24  Bruno Haible  <bruno@clisp.org>
3498
3499         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3500         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3501         assignments to the initial TESTS_ENVIRONMENT.
3502         * doc/gnulib.texi (Unit test modules): Document it.
3503         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3504         TESTS_ENVIRONMENT.
3505         * modules/btowc-tests (Makefile.am): Likewise.
3506         * modules/c-stack-tests (Makefile.am): Likewise.
3507         * modules/c-strcase-tests (Makefile.am): Likewise.
3508         * modules/copy-file-tests (Makefile.am): Likewise.
3509         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3510         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3511         * modules/mbrtowc-tests (Makefile.am): Likewise.
3512         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3513         * modules/mbscasestr-tests (Makefile.am): Likewise.
3514         * modules/mbschr-tests (Makefile.am): Likewise.
3515         * modules/mbscspn-tests (Makefile.am): Likewise.
3516         * modules/mbsinit-tests (Makefile.am): Likewise.
3517         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3518         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3519         * modules/mbspbrk-tests (Makefile.am): Likewise.
3520         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3521         * modules/mbsrchr-tests (Makefile.am): Likewise.
3522         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3523         * modules/mbsspn-tests (Makefile.am): Likewise.
3524         * modules/mbsstr-tests (Makefile.am): Likewise.
3525         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3526         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3527         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3528         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3529         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3530         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3531         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3532         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3533         * modules/wcrtomb-tests (Makefile.am): Likewise.
3534         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3535         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3536         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3537         assignments from TESTS_ENVIRONMENT.
3538         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3539         augmentation.
3540         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3541         * modules/atexit-tests (Makefile.am): Likewise.
3542         * modules/binary-io-tests (Makefile.am): Likewise.
3543         * modules/closein-tests (Makefile.am): Likewise.
3544         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3545         * modules/exclude-tests (Makefile.am): Likewise.
3546         * modules/fflush-tests (Makefile.am): Likewise.
3547         * modules/fpending-tests (Makefile.am): Likewise.
3548         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3549         * modules/freadahead-tests (Makefile.am): Likewise.
3550         * modules/freadptr-tests (Makefile.am): Likewise.
3551         * modules/freadseek-tests (Makefile.am): Likewise.
3552         * modules/fseek-tests (Makefile.am): Likewise.
3553         * modules/fseeko-tests (Makefile.am): Likewise.
3554         * modules/ftell-tests (Makefile.am): Likewise.
3555         * modules/ftello-tests (Makefile.am): Likewise.
3556         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3557         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3558         * modules/lseek-tests (Makefile.am): Likewise.
3559         * modules/parse-duration-tests (Makefile.am): Likewise.
3560         * modules/perror-tests (Makefile.am): Likewise.
3561         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3562         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3563         * modules/pipe-tests (Makefile.am): Likewise.
3564         * modules/pread-tests (Makefile.am): Likewise.
3565         * modules/printf-posix-tests (Makefile.am): Likewise.
3566         * modules/select-tests (Makefile.am): Likewise.
3567         * modules/sigpipe-tests (Makefile.am): Likewise.
3568         * modules/tsearch-tests (Makefile.am): Likewise.
3569         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3570         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3571         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3572         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3573         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3574         * modules/version-etc-tests (Makefile.am): Likewise.
3575         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3576         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3577         * modules/xalloc-die-tests (Makefile.am): Likewise.
3578         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3579         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3580         * modules/xstrtol-tests (Makefile.am): Likewise.
3581         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3582         * modules/yesno-tests (Makefile.am): Likewise.
3583         Suggested by Jim Meyering.
3584
3585 2010-01-24  Bruno Haible  <bruno@clisp.org>
3586
3587         More documentation.
3588         * doc/gnulib.texi (Writing modules): New chapter.
3589         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3590         the new chapter.
3591
3592 2010-01-24  Jim Meyering  <meyering@redhat.com>
3593
3594         maint.mk: do not prepend "./" after filtering
3595         * top/maint.mk (_prepend_srcdir_prefix): New variable
3596         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3597         "./" when $(srcdir) is ".".
3598
3599         define STREQ(a,b) consistently, removing useless parentheses
3600         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3601         since the only risk is that "a" or "b" contains an unparenthesized
3602         comma, but if either did that, STREQ would have 3 or more arguments.
3603         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3604         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3605         * lib/hash-triple.c (STREQ): Likewise.
3606         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3607         * lib/getugroups.c (STREQ): Likewise.
3608
3609 2010-01-23  Jim Meyering  <meyering@redhat.com>
3610
3611         maint.mk: fix syntax-check in a non-srcdir build directory
3612         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3613         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3614
3615 2010-01-22  Jim Meyering  <meyering@redhat.com>
3616
3617         userspec: add unit tests
3618         * tests/test-userspec.c: New file.
3619         * modules/userspec-tests: Likewise.
3620
3621 2010-01-21  Jim Meyering  <meyering@redhat.com>
3622
3623         maint.mk: handle source file names containing "." robustly
3624         * top/maint.mk (_dot_escaped_srcdir): Define.
3625         (VC_LIST): Use it in LHS of sed substitution.
3626
3627 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3628
3629         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3630         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3631         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3632         from a non-srcdir build.
3633
3634 2010-01-20  Eric Blake  <ebb9@byu.net>
3635
3636         warn-on-use: use instead of link-warning
3637         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3638         * modules/unistd (Depends-on, Makefile.am): Likewise.
3639         * modules/arpa_inet (Depends-on): Replace link-warning with
3640         warn-on-use.
3641         (Makefile.am): Update rules accordingly.
3642         * modules/ctype (Depends-on, Makefile.am): Likewise.
3643         * modules/dirent (Depends-on, Makefile.am): Likewise.
3644         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
3645         * modules/inttypes (Depends-on, Makefile.am): Likewise.
3646         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3647         * modules/locale (Depends-on, Makefile.am): Likewise.
3648         * modules/math (Depends-on, Makefile.am): Likewise.
3649         * modules/search (Depends-on, Makefile.am): Likewise.
3650         * modules/signal (Depends-on, Makefile.am): Likewise.
3651         * modules/spawn (Depends-on, Makefile.am): Likewise.
3652         * modules/stdlib (Depends-on, Makefile.am): Likewise.
3653         * modules/string (Depends-on, Makefile.am): Likewise.
3654         * modules/strings (Depends-on, Makefile.am): Likewise.
3655         * modules/sys_file (Depends-on, Makefile.am): Likewise.
3656         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
3657         * modules/sys_select (Depends-on, Makefile.am): Likewise.
3658         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
3659         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
3660         * modules/sys_times (Depends-on, Makefile.am): Likewise.
3661         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
3662         * modules/wchar (Depends-on, Makefile.am): Likewise.
3663         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
3664         should be poisoned.
3665         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
3666         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
3667         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
3668         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3669         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3670         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3671         * m4/math_h.m4 (gl_MATH_H): Likewise.
3672         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3673         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3674         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3675         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3676         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3677         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3678         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
3679         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
3680         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3681         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3682         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3683         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3684         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3685         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3686         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3687         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3688         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
3689         GL_LINK_WARNING.
3690         * lib/ctype.in.h: Likewise.
3691         * lib/dirent.in.h: Likewise.
3692         * lib/fcntl.in.h: Likewise.
3693         * lib/inttypes.in.h: Likewise.
3694         * lib/langinfo.in.h: Likewise.
3695         * lib/locale.in.h: Likewise.
3696         * lib/math.in.h: Likewise.
3697         * lib/search.in.h: Likewise.
3698         * lib/signal.in.h: Likewise.
3699         * lib/spawn.in.h: Likewise.
3700         * lib/stdio.in.h: Likewise.
3701         * lib/stdlib.in.h: Likewise.
3702         * lib/string.in.h: Likewise.
3703         * lib/strings.in.h: Likewise.
3704         * lib/sys_file.in.h: Likewise.
3705         * lib/sys_ioctl.in.h: Likewise.
3706         * lib/sys_select.in.h: Likewise.
3707         * lib/sys_socket.in.h: Likewise.
3708         * lib/sys_stat.in.h: Likewise.
3709         * lib/sys_times.in.h: Likewise.
3710         * lib/sys_utsname.in.h: Likewise.
3711         * lib/unistd.in.h: Likewise.
3712         * lib/wchar.in.h: Likewise.
3713
3714 2010-01-20  Bruno Haible  <bruno@clisp.org>
3715
3716         Avoid duplicate -lm.
3717         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
3718         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
3719         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
3720         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
3721         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
3722         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
3723         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
3724         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
3725         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
3726         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
3727         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
3728         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3729         Reported by Paolo Bonzini.
3730
3731 2010-01-19  Bruno Haible  <bruno@clisp.org>
3732
3733         langinfo, nl_langinfo: Relicense under LGPLv2+.
3734         * modules/langinfo (License): Change to LGPLv2+.
3735         * modules/nl_langinfo (License): Likewise.
3736         Patch by David Lutterkort <lutter@redhat.com>.
3737
3738 2010-01-19  Bruno Haible  <bruno@clisp.org>
3739
3740         Avoid compilation error with cc on OSF/1 5.1.
3741         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
3742         statement, not before.
3743         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3744
3745 2010-01-18  Bruno Haible  <bruno@clisp.org>
3746
3747         Avoid a link error due to the __printf__ symbol.
3748         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
3749         and 2.6.x.
3750         (__format__, __printf__): Remove definitions.
3751         * lib/argp-fmtstream.h: Likewise.
3752         * lib/argp.h: Likewise.
3753         * lib/error.h: Likewise.
3754         * lib/vasnprintf.h: Likewise.
3755         * lib/xprintf.h: Likewise.
3756         * lib/xvasprintf.h: Likewise.
3757         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3758
3759 2010-01-18  Bruno Haible  <bruno@clisp.org>
3760
3761         Tests for module 'tanl'.
3762         * modules/tanl-tests: New file.
3763         * tests/test-tanl.c: New file.
3764
3765         Tests for module 'sqrtl'.
3766         * modules/sqrtl-tests: New file.
3767         * tests/test-sqrtl.c: New file.
3768
3769         Tests for module 'sinl'.
3770         * modules/sinl-tests: New file.
3771         * tests/test-sinl.c: New file.
3772
3773         Tests for module 'logl'.
3774         * modules/logl-tests: New file.
3775         * tests/test-logl.c: New file.
3776
3777         Tests for module 'expl'.
3778         * modules/expl-tests: New file.
3779         * tests/test-expl.c: New file.
3780
3781         Tests for module 'cosl'.
3782         * modules/cosl-tests: New file.
3783         * tests/test-cosl.c: New file.
3784
3785         Tests for module 'atanl'.
3786         * modules/atanl-tests: New file.
3787         * tests/test-atanl.c: New file.
3788
3789         Tests for module 'asinl'.
3790         * modules/asinl-tests: New file.
3791         * tests/test-asinl.c: New file.
3792
3793         Tests for module 'acosl'.
3794         * modules/acosl-tests: New file.
3795         * tests/test-acosl.c: New file.
3796
3797         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3798         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3799         tanl): Use the standard gnulib idiom.
3800         * lib/cosl.c: Don't include trigl.c and sincosl.c.
3801         * lib/sinl.c: Likewise.
3802         * lib/tanl.c: Don't include trigl.c.
3803         (kernel_tanl): Make static.
3804         * lib/sincosl.c: Include trigl.h first.
3805         * lib/trigl.c: Likewise.
3806         * m4/acosl.m4: New file.
3807         * m4/asinl.m4: New file.
3808         * m4/atanl.m4: New file.
3809         * m4/cosl.m4: New file.
3810         * m4/expl.m4: New file.
3811         * m4/logl.m4: New file.
3812         * m4/sinl.m4: New file.
3813         * m4/sqrtl.m4: New file.
3814         * m4/tanl.m4: New file.
3815         * m4/mathl.m4: Remove file.
3816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
3817         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3818         Don't initialize GNULIB_MATHL.
3819         * modules/acosl: New file.
3820         * modules/asinl: New file.
3821         * modules/atanl: New file.
3822         * modules/cosl: New file.
3823         * modules/expl: New file.
3824         * modules/logl: New file.
3825         * modules/sinl: New file.
3826         * modules/sqrtl: New file.
3827         * modules/tanl: New file.
3828         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
3829         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
3830         substitute GNULIB_MATHL.
3831         * modules/mathl: Rewritten.
3832         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
3833         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
3834         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
3835         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
3836         * doc/posix-functions/expl.texi: Mention the 'expl' module.
3837         * doc/posix-functions/logl.texi: Mention the 'logl' module.
3838         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
3839         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
3840         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
3841
3842 2010-01-18  Bruno Haible  <bruno@clisp.org>
3843
3844         sqrt: Make gl_FUNC_SQRT requirable.
3845         * m4/sqrt.m4: New file.
3846         * modules/sqrt (Files): Add it.
3847         (configure.ac): Invoke gl_FUNC_SQRT.
3848
3849 2010-01-18  Bruno Haible  <bruno@clisp.org>
3850
3851         New modules for common <math.h> functions.
3852         * m4/mathfunc.m4: New file.
3853         * modules/acos: New file.
3854         * modules/asin: New file.
3855         * modules/atan: New file.
3856         * modules/atan2: New file.
3857         * modules/cbrt: New file.
3858         * modules/copysign: New file.
3859         * modules/cos: New file.
3860         * modules/cosh: New file.
3861         * modules/erf: New file.
3862         * modules/erfc: New file.
3863         * modules/exp: New file.
3864         * modules/fabs: New file.
3865         * modules/fmod: New file.
3866         * modules/hypot: New file.
3867         * modules/j0: New file.
3868         * modules/j1: New file.
3869         * modules/jn: New file.
3870         * modules/ldexp: New file.
3871         * modules/lgamma: New file.
3872         * modules/log: New file.
3873         * modules/log10: New file.
3874         * modules/log1p: New file.
3875         * modules/logb: New file.
3876         * modules/modf: New file.
3877         * modules/nextafter: New file.
3878         * modules/pow: New file.
3879         * modules/remainder: New file.
3880         * modules/rint: New file.
3881         * modules/sin: New file.
3882         * modules/sinh: New file.
3883         * modules/sqrt: New file.
3884         * modules/tan: New file.
3885         * modules/tanh: New file.
3886         * modules/y0: New file.
3887         * modules/y1: New file.
3888         * modules/yn: New file.
3889         * doc/posix-functions/acos.texi: Mention the 'acos' module.
3890         * doc/posix-functions/asin.texi: Mention the 'asin' module.
3891         * doc/posix-functions/atan.texi: Mention the 'atan' module.
3892         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
3893         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
3894         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
3895         * doc/posix-functions/cos.texi: Mention the 'cos' module.
3896         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
3897         * doc/posix-functions/erf.texi: Mention the 'erf' module.
3898         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
3899         * doc/posix-functions/exp.texi: Mention the 'exp' module.
3900         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
3901         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
3902         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
3903         * doc/posix-functions/j0.texi: Mention the 'j0' module.
3904         * doc/posix-functions/j1.texi: Mention the 'j1' module.
3905         * doc/posix-functions/jn.texi: Mention the 'jn' module.
3906         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
3907         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
3908         * doc/posix-functions/log.texi: Mention the 'log' module.
3909         * doc/posix-functions/log10.texi: Mention the 'log10' module.
3910         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
3911         * doc/posix-functions/logb.texi: Mention the 'logb' module.
3912         * doc/posix-functions/modf.texi: Mention the 'modf' module.
3913         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
3914         * doc/posix-functions/pow.texi: Mention the 'pow' module.
3915         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
3916         * doc/posix-functions/rint.texi: Mention the 'rint' module.
3917         * doc/posix-functions/sin.texi: Mention the 'sin' module.
3918         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
3919         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
3920         * doc/posix-functions/tan.texi: Mention the 'tan' module.
3921         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
3922         * doc/posix-functions/y0.texi: Mention the 'y0' module.
3923         * doc/posix-functions/y1.texi: Mention the 'y1' module.
3924         * doc/posix-functions/yn.texi: Mention the 'yn' module.
3925
3926 2010-01-18  Jim Meyering  <meyering@redhat.com>
3927
3928         ignore-value: relax license to LGPLv2+
3929         * modules/ignore-value (License): Relax to LGPLv2+.
3930
3931         getdate: don't leak when TZ contains two or more '"'s
3932         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
3933         double quote in TZ after the first one.
3934
3935         readtokens: do not leak internal token_lengths buffer
3936         * lib/readtokens.c (readtokens): Free the local, lengths,
3937         when the supplied "token_lengths" parameter is NULL.
3938
3939 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3940
3941         Fix a couple of missing LIBTHREAD link failures on AIX.
3942         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
3943         $(LIBTHREAD).
3944         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
3945
3946         Link test-poll against INET_PTON_LIB.
3947         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
3948         for inet_pton on Solaris 10.
3949
3950 2010-01-17  Bruno Haible  <bruno@clisp.org>
3951
3952         unistdio/*-sprintf: Fix typo in module description.
3953         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
3954         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
3955         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
3956         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
3957         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
3958         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
3959         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
3960         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3961
3962 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3963
3964         gnulib-tool: fix filelist for AIX, HP-UX ksh.
3965         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
3966         variables in shell case patterns, for AIX and HP-UX ksh.
3967
3968         Split large sed scripts, for HP-UX sed.
3969         * modules/stdio: Split sed scripts around 50 sed commands,
3970         to avoid HP-UX limit of 99 commands, in the near future.
3971         * modules/string: Likewise.
3972         * modules/unistd: Likewise.
3973
3974         gnulib-tool: avoid writing in the current directory.
3975         * gnulib-tool (func_emit_lib_Makefile_am)
3976         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
3977         not in the current directory, so concurrent gnulib-tool
3978         instances do not interfere.
3979
3980 2010-01-16  Jim Meyering  <meyering@redhat.com>
3981
3982         doc: update users.txt
3983         * users.txt: Add grep.
3984         (diffutils, gzip): Update URLs.
3985
3986 2010-01-12  Bruno Haible  <bruno@clisp.org>
3987
3988         posix_spawn: Avoid test failure on Cygwin.
3989         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
3990         characters.
3991         Reported by Simon Josefsson.
3992
3993 2010-01-12  Bruno Haible  <bruno@clisp.org>
3994
3995         * tests/test-cond.c (main): When skipping the test, show the reason.
3996
3997 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3998
3999         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4000
4001 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4002
4003         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4004         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4005
4006 2010-01-12  Eric Blake  <ebb9@byu.net>
4007
4008         build: guarantee AS_VAR_IF
4009         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4010         (gl_AS_VAR_IF): Move...
4011         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4012         Reported by Simon Josefsson.
4013
4014 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4015
4016         * lib/stdio.in.h: Fix typo.
4017
4018 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4019
4020         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4021         libgpg-error.
4022
4023 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4024
4025         * tests/test-xalloc-die.sh: Use $EXEEXT.
4026
4027 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4028             Bruno Haible  <bruno@clisp.org>
4029
4030         getlogin, getlogin_r: Avoid test failure.
4031         * tests/test-getlogin.c: Include <stdio.h>.
4032         (main): Skip the test when the function fails because stdin is not a
4033         tty.
4034         * tests/test-getlogin_r.c: Include <stdio.h>.
4035         (main): Skip the test when the function fails because stdin is not a
4036         tty.
4037
4038 2010-01-11  Eric Blake  <ebb9@byu.net>
4039
4040         tests: avoid more large file warnings
4041         * tests/test-fflush.c: Avoid warning about ftell use.
4042         * tests/test-fseek.c: Avoid warning about fseek use.
4043
4044 2010-01-10  Bruno Haible  <bruno@clisp.org>
4045
4046         nproc: Work better on Linux when /proc and /sys are not mounted.
4047         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4048         as lower bound when, on glibc/Linux systems,
4049         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4050         Suggested by Pádraig Brady <P@draigbrady.com>.
4051         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4052
4053         nproc: Refactor.
4054         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4055         extracted from num_processors.
4056         (num_processors): Call it.
4057
4058 2010-01-11  Jim Meyering  <meyering@redhat.com>
4059
4060         utimecmp: avoid new warning from upcoming gcc-4.5.0
4061         * lib/utimecmp.c (BILLION): Define using #define rather than an
4062         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4063
4064 2010-01-11  Eric Blake  <ebb9@byu.net>
4065
4066         math: add portability warnings for classification macros
4067         * modules/math (Depends-on): Add warn-on-use.
4068         (Makefile.am): Provide new substitutions.
4069         * m4/math_h.m4 (gl_MATH_H): Require inline.
4070         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4071         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4072         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4073         implement warnings.
4074
4075         unistd: warn on use of environ without module
4076         * modules/unistd (Depends-on): Add warn-on-use.
4077         (Makefile.am): Provide new substitutions.
4078         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4079         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4080
4081         stdio: warn on suspicious uses
4082         * modules/stdio (Depends-on): Add warn-on-use.
4083         (Makefile.am): Provide new substitutions.
4084         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4085         fseeko.
4086         * lib/stdio.in.h (gets): Always warn on use.
4087         (fseek, ftell): Adjust when warnings are issued, and honor
4088         _GL_NO_LARGE_FILES as a way to silence the warning.
4089         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4090         any warning about large file offsets.
4091         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4092         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4093         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4094         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4095         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4096         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4097         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4098         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4099
4100         warn-on-use: new module
4101         * modules/warn-on-use: New file.
4102         * build-aux/warn-on-use.h: Likewise.
4103         * m4/warn-on-use.m4: Likewise.
4104         * MODULES.html.sh (Support for building): Mention it.
4105
4106 2010-01-10  Bruno Haible  <bruno@clisp.org>
4107
4108         Tests for module 'unistr/u32-strdup'.
4109         * modules/unistr/u32-strdup-tests: New file.
4110         * tests/unistr/test-u32-strdup.c: New file.
4111
4112         Tests for module 'unistr/u16-strdup'.
4113         * modules/unistr/u16-strdup-tests: New file.
4114         * tests/unistr/test-u16-strdup.c: New file.
4115
4116         Tests for module 'unistr/u8-strdup'.
4117         * modules/unistr/u8-strdup-tests: New file.
4118         * tests/unistr/test-u8-strdup.c: New file.
4119         * tests/unistr/test-strdup.h: New file.
4120
4121         Tests for module 'unistr/u32-strncmp'.
4122         * modules/unistr/u32-strncmp-tests: New file.
4123         * tests/unistr/test-u32-strncmp.c: New file.
4124
4125         Tests for module 'unistr/u16-strncmp'.
4126         * modules/unistr/u16-strncmp-tests: New file.
4127         * tests/unistr/test-u16-strncmp.c: New file.
4128
4129         Tests for module 'unistr/u8-strncmp'.
4130         * modules/unistr/u8-strncmp-tests: New file.
4131         * tests/unistr/test-u8-strncmp.c: New file.
4132         * tests/unistr/test-strncmp.h: New file.
4133
4134         Tests for module 'unistr/u32-strcoll'.
4135         * modules/unistr/u32-strcoll-tests: New file.
4136         * tests/unistr/test-u32-strcoll.c: New file.
4137
4138         Tests for module 'unistr/u16-strcoll'.
4139         * modules/unistr/u16-strcoll-tests: New file.
4140         * tests/unistr/test-u16-strcoll.c: New file.
4141
4142         Tests for module 'unistr/u8-strcoll'.
4143         * modules/unistr/u8-strcoll-tests: New file.
4144         * tests/unistr/test-u8-strcoll.c: New file.
4145
4146         Tests for module 'unistr/u32-strcmp'.
4147         * modules/unistr/u32-strcmp-tests: New file.
4148         * tests/unistr/test-u32-strcmp.c: New file.
4149         * tests/unistr/test-u32-strcmp.h: New file.
4150
4151         Tests for module 'unistr/u16-strcmp'.
4152         * modules/unistr/u16-strcmp-tests: New file.
4153         * tests/unistr/test-u16-strcmp.c: New file.
4154         * tests/unistr/test-u16-strcmp.h: New file.
4155
4156         Tests for module 'unistr/u8-strcmp'.
4157         * modules/unistr/u8-strcmp-tests: New file.
4158         * tests/unistr/test-u8-strcmp.c: New file.
4159         * tests/unistr/test-u8-strcmp.h: New file.
4160         * tests/unistr/test-strcmp.h: New file.
4161
4162         Tests for module 'unistr/u32-strncat'.
4163         * modules/unistr/u32-strncat-tests: New file.
4164         * tests/unistr/test-u32-strncat.c: New file.
4165
4166         Tests for module 'unistr/u16-strncat'.
4167         * modules/unistr/u16-strncat-tests: New file.
4168         * tests/unistr/test-u16-strncat.c: New file.
4169
4170         Tests for module 'unistr/u8-strncat'.
4171         * modules/unistr/u8-strncat-tests: New file.
4172         * tests/unistr/test-u8-strncat.c: New file.
4173         * tests/unistr/test-strncat.h: New file.
4174
4175         Tests for module 'unistr/u32-strcat'.
4176         * modules/unistr/u32-strcat-tests: New file.
4177         * tests/unistr/test-u32-strcat.c: New file.
4178
4179         Tests for module 'unistr/u16-strcat'.
4180         * modules/unistr/u16-strcat-tests: New file.
4181         * tests/unistr/test-u16-strcat.c: New file.
4182
4183         Tests for module 'unistr/u8-strcat'.
4184         * modules/unistr/u8-strcat-tests: New file.
4185         * tests/unistr/test-u8-strcat.c: New file.
4186         * tests/unistr/test-strcat.h: New file.
4187
4188         Tests for module 'unistr/u32-stpncpy'.
4189         * modules/unistr/u32-stpncpy-tests: New file.
4190         * tests/unistr/test-u32-stpncpy.c: New file.
4191
4192         Tests for module 'unistr/u16-stpncpy'.
4193         * modules/unistr/u16-stpncpy-tests: New file.
4194         * tests/unistr/test-u16-stpncpy.c: New file.
4195
4196         Tests for module 'unistr/u8-stpncpy'.
4197         * modules/unistr/u8-stpncpy-tests: New file.
4198         * tests/unistr/test-u8-stpncpy.c: New file.
4199         * tests/unistr/test-stpncpy.h: New file.
4200
4201         Tests for module 'unistr/u32-strncpy'.
4202         * modules/unistr/u32-strncpy-tests: New file.
4203         * tests/unistr/test-u32-strncpy.c: New file.
4204
4205         Tests for module 'unistr/u16-strncpy'.
4206         * modules/unistr/u16-strncpy-tests: New file.
4207         * tests/unistr/test-u16-strncpy.c: New file.
4208
4209         Tests for module 'unistr/u8-strncpy'.
4210         * modules/unistr/u8-strncpy-tests: New file.
4211         * tests/unistr/test-u8-strncpy.c: New file.
4212         * tests/unistr/test-strncpy.h: New file.
4213
4214         Tests for module 'unistr/u32-stpcpy'.
4215         * modules/unistr/u32-stpcpy-tests: New file.
4216         * tests/unistr/test-u32-stpcpy.c: New file.
4217
4218         Tests for module 'unistr/u16-stpcpy'.
4219         * modules/unistr/u16-stpcpy-tests: New file.
4220         * tests/unistr/test-u16-stpcpy.c: New file.
4221
4222         Tests for module 'unistr/u8-stpcpy'.
4223         * modules/unistr/u8-stpcpy-tests: New file.
4224         * tests/unistr/test-u8-stpcpy.c: New file.
4225         * tests/unistr/test-stpcpy.h: New file.
4226
4227         Tests for module 'unistr/u32-strcpy'.
4228         * modules/unistr/u32-strcpy-tests: New file.
4229         * tests/unistr/test-u32-strcpy.c: New file.
4230
4231         Tests for module 'unistr/u16-strcpy'.
4232         * modules/unistr/u16-strcpy-tests: New file.
4233         * tests/unistr/test-u16-strcpy.c: New file.
4234
4235         Tests for module 'unistr/u8-strcpy'.
4236         * modules/unistr/u8-strcpy-tests: New file.
4237         * tests/unistr/test-u8-strcpy.c: New file.
4238         * tests/unistr/test-strcpy.h: New file.
4239
4240         Tests for module 'unistr/u32-strnlen'.
4241         * modules/unistr/u32-strnlen-tests: New file.
4242         * tests/unistr/test-u32-strnlen.c: New file.
4243
4244         Tests for module 'unistr/u16-strnlen'.
4245         * modules/unistr/u16-strnlen-tests: New file.
4246         * tests/unistr/test-u16-strnlen.c: New file.
4247
4248         Tests for module 'unistr/u8-strnlen'.
4249         * modules/unistr/u8-strnlen-tests: New file.
4250         * tests/unistr/test-u8-strnlen.c: New file.
4251         * tests/unistr/test-strnlen.h: New file.
4252
4253         Tests for module 'unistr/u32-strlen'.
4254         * modules/unistr/u32-strlen-tests: New file.
4255         * tests/unistr/test-u32-strlen.c: New file.
4256
4257         Tests for module 'unistr/u16-strlen'.
4258         * modules/unistr/u16-strlen-tests: New file.
4259         * tests/unistr/test-u16-strlen.c: New file.
4260
4261         Tests for module 'unistr/u8-strlen'.
4262         * modules/unistr/u8-strlen-tests: New file.
4263         * tests/unistr/test-u8-strlen.c: New file.
4264
4265         Tests for module 'unistr/u32-prev'.
4266         * modules/unistr/u32-prev-tests: New file.
4267         * tests/unistr/test-u32-prev.c: New file.
4268
4269         Tests for module 'unistr/u16-prev'.
4270         * modules/unistr/u16-prev-tests: New file.
4271         * tests/unistr/test-u16-prev.c: New file.
4272
4273         Tests for module 'unistr/u8-prev'.
4274         * modules/unistr/u8-prev-tests: New file.
4275         * tests/unistr/test-u8-prev.c: New file.
4276
4277         Tests for module 'unistr/u32-next'.
4278         * modules/unistr/u32-next-tests: New file.
4279         * tests/unistr/test-u32-next.c: New file.
4280
4281         Tests for module 'unistr/u16-next'.
4282         * modules/unistr/u16-next-tests: New file.
4283         * tests/unistr/test-u16-next.c: New file.
4284
4285         Tests for module 'unistr/u8-next'.
4286         * modules/unistr/u8-next-tests: New file.
4287         * tests/unistr/test-u8-next.c: New file.
4288
4289         Tests for module 'unistr/u32-strmbtouc'.
4290         * modules/unistr/u32-strmbtouc-tests: New file.
4291         * tests/unistr/test-u32-strmbtouc.c: New file.
4292
4293         Tests for module 'unistr/u16-strmbtouc'.
4294         * modules/unistr/u16-strmbtouc-tests: New file.
4295         * tests/unistr/test-u16-strmbtouc.c: New file.
4296
4297         Tests for module 'unistr/u8-strmbtouc'.
4298         * modules/unistr/u8-strmbtouc-tests: New file.
4299         * tests/unistr/test-u8-strmbtouc.c: New file.
4300
4301         Tests for module 'unistr/u32-strmblen'.
4302         * modules/unistr/u32-strmblen-tests: New file.
4303         * tests/unistr/test-u32-strmblen.c: New file.
4304
4305         Tests for module 'unistr/u16-strmblen'.
4306         * modules/unistr/u16-strmblen-tests: New file.
4307         * tests/unistr/test-u16-strmblen.c: New file.
4308
4309         Tests for module 'unistr/u8-strmblen'.
4310         * modules/unistr/u8-strmblen-tests: New file.
4311         * tests/unistr/test-u8-strmblen.c: New file.
4312
4313         Tests for module 'unistr/u32-cpy-alloc'.
4314         * modules/unistr/u32-cpy-alloc-tests: New file.
4315         * tests/unistr/test-u32-cpy-alloc.c: New file.
4316
4317         Tests for module 'unistr/u16-cpy-alloc'.
4318         * modules/unistr/u16-cpy-alloc-tests: New file.
4319         * tests/unistr/test-u16-cpy-alloc.c: New file.
4320
4321         Tests for module 'unistr/u8-cpy-alloc'.
4322         * modules/unistr/u8-cpy-alloc-tests: New file.
4323         * tests/unistr/test-u8-cpy-alloc.c: New file.
4324         * tests/unistr/test-cpy-alloc.h: New file.
4325
4326         Tests for module 'unistr/u32-mbsnlen'.
4327         * modules/unistr/u32-mbsnlen-tests: New file.
4328         * tests/unistr/test-u32-mbsnlen.c: New file.
4329
4330         Tests for module 'unistr/u16-mbsnlen'.
4331         * modules/unistr/u16-mbsnlen-tests: New file.
4332         * tests/unistr/test-u16-mbsnlen.c: New file.
4333
4334         Tests for module 'unistr/u8-mbsnlen'.
4335         * modules/unistr/u8-mbsnlen-tests: New file.
4336         * tests/unistr/test-u8-mbsnlen.c: New file.
4337
4338         Tests for module 'unistr/u32-chr'.
4339         * modules/unistr/u32-chr-tests: New file.
4340         * tests/unistr/test-u32-chr.c: New file.
4341
4342         Tests for module 'unistr/u16-chr'.
4343         * modules/unistr/u16-chr-tests: New file.
4344         * tests/unistr/test-u16-chr.c: New file.
4345
4346         Tests for module 'unistr/u8-chr'.
4347         * modules/unistr/u8-chr-tests: New file.
4348         * tests/unistr/test-u8-chr.c: New file.
4349         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4350
4351         Tests for module 'unistr/u32-cmp2'.
4352         * modules/unistr/u32-cmp2-tests: New file.
4353         * tests/unistr/test-u32-cmp2.c: New file.
4354
4355         Tests for module 'unistr/u16-cmp2'.
4356         * modules/unistr/u16-cmp2-tests: New file.
4357         * tests/unistr/test-u16-cmp2.c: New file.
4358
4359         Tests for module 'unistr/u8-cmp2'.
4360         * modules/unistr/u8-cmp2-tests: New file.
4361         * tests/unistr/test-u8-cmp2.c: New file.
4362         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4363
4364         Tests for module 'unistr/u32-cmp'.
4365         * modules/unistr/u32-cmp-tests: New file.
4366         * tests/unistr/test-u32-cmp.c: New file.
4367
4368         Tests for module 'unistr/u16-cmp'.
4369         * modules/unistr/u16-cmp-tests: New file.
4370         * tests/unistr/test-u16-cmp.c: New file.
4371
4372         Tests for module 'unistr/u8-cmp'.
4373         * modules/unistr/u8-cmp-tests: New file.
4374         * tests/unistr/test-u8-cmp.c: New file.
4375         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4376
4377         Tests for module 'unistr/u32-set'.
4378         * modules/unistr/u32-set-tests: New file.
4379         * tests/unistr/test-u32-set.c: New file.
4380
4381         Tests for module 'unistr/u16-set'.
4382         * modules/unistr/u16-set-tests: New file.
4383         * tests/unistr/test-u16-set.c: New file.
4384
4385         Tests for module 'unistr/u8-set'.
4386         * modules/unistr/u8-set-tests: New file.
4387         * tests/unistr/test-u8-set.c: New file.
4388         * tests/unistr/test-set.h: New file.
4389
4390         Tests for module 'unistr/u32-move'.
4391         * modules/unistr/u32-move-tests: New file.
4392         * tests/unistr/test-u32-move.c: New file.
4393
4394         Tests for module 'unistr/u16-move'.
4395         * modules/unistr/u16-move-tests: New file.
4396         * tests/unistr/test-u16-move.c: New file.
4397
4398         Tests for module 'unistr/u8-move'.
4399         * modules/unistr/u8-move-tests: New file.
4400         * tests/unistr/test-u8-move.c: New file.
4401         * tests/unistr/test-move.h: New file.
4402
4403         Tests for module 'unistr/u32-cpy'.
4404         * modules/unistr/u32-cpy-tests: New file.
4405         * tests/unistr/test-u32-cpy.c: New file.
4406
4407         Tests for module 'unistr/u16-cpy'.
4408         * modules/unistr/u16-cpy-tests: New file.
4409         * tests/unistr/test-u16-cpy.c: New file.
4410
4411         Tests for module 'unistr/u8-cpy'.
4412         * modules/unistr/u8-cpy-tests: New file.
4413         * tests/unistr/test-u8-cpy.c: New file.
4414         * tests/unistr/test-cpy.h: New file.
4415
4416 2010-01-09  Bruno Haible  <bruno@clisp.org>
4417
4418         Tests for module 'unistr/u32-uctomb'.
4419         * modules/unistr/u32-uctomb-tests: New file.
4420         * tests/unistr/test-u32-uctomb.c: New file.
4421
4422         Tests for module 'unistr/u16-uctomb'.
4423         * modules/unistr/u16-uctomb-tests: New file.
4424         * tests/unistr/test-u16-uctomb.c: New file.
4425
4426         Tests for module 'unistr/u8-uctomb'.
4427         * modules/unistr/u8-uctomb-tests: New file.
4428         * tests/unistr/test-u8-uctomb.c: New file.
4429
4430         Tests for module 'unistr/u32-mbtoucr'.
4431         * modules/unistr/u32-mbtoucr-tests: New file.
4432         * tests/unistr/test-u32-mbtoucr.c: New file.
4433
4434         Tests for module 'unistr/u16-mbtoucr'.
4435         * modules/unistr/u16-mbtoucr-tests: New file.
4436         * tests/unistr/test-u16-mbtoucr.c: New file.
4437
4438         Tests for module 'unistr/u8-mbtoucr'.
4439         * modules/unistr/u8-mbtoucr-tests: New file.
4440         * tests/unistr/test-u8-mbtoucr.c: New file.
4441
4442         Tests for module 'unistr/u32-mbtouc'.
4443         * modules/unistr/u32-mbtouc-tests: New file.
4444         * tests/unistr/test-u32-mbtouc.c: New file.
4445
4446         Tests for module 'unistr/u16-mbtouc'.
4447         * modules/unistr/u16-mbtouc-tests: New file.
4448         * tests/unistr/test-u16-mbtouc.c: New file.
4449
4450         Tests for module 'unistr/u8-mbtouc'.
4451         * modules/unistr/u8-mbtouc-tests: New file.
4452         * tests/unistr/test-u8-mbtouc.c: New file.
4453
4454         Tests for module 'unistr/u32-mbtouc-unsafe'.
4455         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4456         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4457         * tests/unistr/test-u32-mbtouc.h: New file.
4458
4459         Tests for module 'unistr/u16-mbtouc-unsafe'.
4460         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4461         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4462         * tests/unistr/test-u16-mbtouc.h: New file.
4463
4464         Tests for module 'unistr/u8-mbtouc-unsafe'.
4465         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4466         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4467         * tests/unistr/test-u8-mbtouc.h: New file.
4468
4469         Tests for module 'unistr/u32-mblen'.
4470         * modules/unistr/u32-mblen-tests: New file.
4471         * tests/unistr/test-u32-mblen.c: New file.
4472
4473         Tests for module 'unistr/u16-mblen'.
4474         * modules/unistr/u16-mblen-tests: New file.
4475         * tests/unistr/test-u16-mblen.c: New file.
4476
4477         Tests for module 'unistr/u8-mblen'.
4478         * modules/unistr/u8-mblen-tests: New file.
4479         * tests/unistr/test-u8-mblen.c: New file.
4480
4481         Tests for module 'unistr/u32-to-u16'.
4482         * modules/unistr/u32-to-u16-tests: New file.
4483         * tests/unistr/test-u32-to-u16.c: New file.
4484
4485         Tests for module 'unistr/u32-to-u8'.
4486         * modules/unistr/u32-to-u8-tests: New file.
4487         * tests/unistr/test-u32-to-u8.c: New file.
4488
4489         Tests for module 'unistr/u16-to-u32'.
4490         * modules/unistr/u16-to-u32-tests: New file.
4491         * tests/unistr/test-u16-to-u32.c: New file.
4492
4493         Tests for module 'unistr/u16-to-u8'.
4494         * modules/unistr/u16-to-u8-tests: New file.
4495         * tests/unistr/test-u16-to-u8.c: New file.
4496
4497         Tests for module 'unistr/u8-to-u32'.
4498         * modules/unistr/u8-to-u32-tests: New file.
4499         * tests/unistr/test-u8-to-u32.c: New file.
4500
4501         Tests for module 'unistr/u8-to-u16'.
4502         * modules/unistr/u8-to-u16-tests: New file.
4503         * tests/unistr/test-u8-to-u16.c: New file.
4504
4505         Tests for module 'unistr/u32-check'.
4506         * modules/unistr/u32-check-tests: New file.
4507         * tests/unistr/test-u32-check.c: New file.
4508
4509         Tests for module 'unistr/u16-check'.
4510         * modules/unistr/u16-check-tests: New file.
4511         * tests/unistr/test-u16-check.c: New file.
4512
4513         Tests for module 'unistr/u8-check'.
4514         * modules/unistr/u8-check-tests: New file.
4515         * tests/unistr/test-u8-check.c: New file.
4516
4517         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4518         (category_equals): New function.
4519         (main): Add more tests.
4520         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4521
4522         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4523
4524 2010-01-10  Bruno Haible  <bruno@clisp.org>
4525
4526         unistr/u*-strcoll: Try harder to distinguish different strings.
4527         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4528         compare s1 and s2 to see if they are different.
4529
4530 2010-01-10  Bruno Haible  <bruno@clisp.org>
4531
4532         unistr/u*-stpncpy: Fix the return value.
4533         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4534         description of the return value consistent with stpncpy in glibc.
4535         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4536         written non-NUL unit.
4537
4538 2010-01-10  Bruno Haible  <bruno@clisp.org>
4539
4540         unistr/u*-next: Add missing dependencies.
4541         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4542         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4543         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4544
4545 2010-01-10  Bruno Haible  <bruno@clisp.org>
4546
4547         unistr/u8-mbsnlen: Fix return value for incomplete character.
4548         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4549         u8_mblen.
4550         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4551         Remove unistr/u8-mblen.
4552         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4553         u16_mblen.
4554         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4555         Remove unistr/u16-mblen.
4556
4557 2010-01-10  Bruno Haible  <bruno@clisp.org>
4558
4559         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4560         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4561         Reported by Brian Gough <bjg@gnu.org> and
4562         Chris Clayton <chris2553@googlemail.com> via
4563         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4564
4565 2010-01-09  Bruno Haible  <bruno@clisp.org>
4566
4567         unistr/u16-to-u32: Reject invalid input.
4568         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4569         u16_mbtouc.
4570         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4571         Remove unistr/u16-mbtouc.
4572
4573         unistr/u16-to-u8: Reject invalid input.
4574         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4575         u16_mbtouc.
4576         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4577         Remove unistr/u16-mbtouc.
4578
4579         unistr/u8-to-u32: Reject invalid input.
4580         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4581         u8_mbtouc.
4582         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4583         Remove unistr/u8-mbtouc.
4584
4585         unistr/u8-to-u16: Reject invalid input.
4586         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4587         u8_mbtouc.
4588         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4589         Remove unistr/u8-mbtouc.
4590
4591 2010-01-09  Bruno Haible  <bruno@clisp.org>
4592
4593         Tests for module 'getlogin'.
4594         * modules/getlogin-tests: New file.
4595         * tests/test-getlogin.c: New file.
4596
4597         New module 'getlogin'.
4598         * lib/unistd.in.h (getlogin): New declaration.
4599         * lib/getlogin.c: New file.
4600         * m4/getlogin.m4: New file.
4601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4602         HAVE_GETLOGIN.
4603         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4604         HAVE_GETLOGIN.
4605         * modules/getlogin: New file.
4606         * doc/posix-functions/getlogin.texi: Mention the new module.
4607         Reported by John W. Eaton <jwe@gnu.org>.
4608
4609 2010-01-09  Bruno Haible  <bruno@clisp.org>
4610
4611         getlogin_r: Support for native Windows.
4612         * lib/getlogin_r.c: Include <windows.h>
4613         (getlogin_r): Implement for native Windows.
4614         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4615         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4616         via John W. Eaton <jwe@gnu.org>.
4617
4618 2010-01-09  Bruno Haible  <bruno@clisp.org>
4619
4620         getlogin_r: Small fixes.
4621         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4622         succeeds.
4623         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4624         before testing whether getlogin_r is declared. No need to set
4625         HAVE_DECL_GETLOGIN_R to 1.
4626         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4627
4628 2010-01-09  Bruno Haible  <bruno@clisp.org>
4629
4630         * lib/unistd.in.h (getlogin_r): Add comment.
4631
4632 2010-01-09  Bruno Haible  <bruno@clisp.org>
4633
4634         Tests for module 'getlogin_r'.
4635         * modules/getlogin_r-tests: New file.
4636         * tests/test-getlogin_r.c: New file.
4637
4638 2010-01-09  Jim Meyering  <meyering@redhat.com>
4639
4640         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
4641         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
4642         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
4643
4644 2010-01-08  Simon Josefsson  <simon@josefsson.org>
4645
4646         * lib/dup2.c (rpl_dup2): Improve comment.
4647
4648 2010-01-08  Eric Blake  <ebb9@byu.net>
4649
4650         maint.mk: allow packages to add makefile @@ exceptions
4651         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
4652         (sc_makefile_check): Rename...
4653         (sc_makefile_at_at_check): ...to this, and use hook.
4654
4655         dup2: work around mingw bug
4656         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
4657         Reported by Simon Josefsson.
4658
4659 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
4660
4661         glob: Fix C++ compilation.
4662         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
4663         C++.
4664
4665 2010-01-07  Bruno Haible  <bruno@clisp.org>
4666
4667         Fix indentation of wctype.in.h, broken since 2007-01-06.
4668         * lib/wctype.in.h: Fix indentation of preprocessor directives.
4669
4670 2010-01-07  Bruno Haible  <bruno@clisp.org>
4671
4672         mbslen: Avoid collision with system function.
4673         * lib/string.in.h [MirBSD]: Include <wchar.h>.
4674         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
4675         * m4/mbslen.m4: New file.
4676         * modules/mbslen (Files): Add it.
4677         (configure.ac): Invoke gl_MBSLEN.
4678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
4679         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
4680         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
4681         via Ian Beckwith <ianb@erislabs.net>.
4682
4683 2010-01-07  Bruno Haible  <bruno@clisp.org>
4684
4685         dirent: Document the last fix.
4686         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
4687
4688 2010-01-07  Bruno Haible  <bruno@clisp.org>
4689
4690         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
4691         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
4692         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
4693         va_list are defined.
4694         * doc/posix-headers/stdio.texi: Document the bug of missing types.
4695         Reported by Eric Blake.
4696
4697 2010-01-07  Bruno Haible  <bruno@clisp.org>
4698
4699         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
4700         * modules/xlist (Depends-on): Add 'list',
4701         * modules/xoset (Depends-on): Add 'oset'.
4702         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4703
4704 2010-01-07  Bruno Haible  <bruno@clisp.org>
4705
4706         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
4707         * doc/posix-functions/strncasecmp.texi: Likewise.
4708
4709 2010-01-07  Bruno Haible  <bruno@clisp.org>
4710
4711         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
4712
4713 2010-01-07  John W. Eaton  <jwe@octave.org>
4714
4715         wctype: allow C++ use
4716         * lib/wctype.in.h: Add extern "C" block for C++.
4717
4718 2010-01-06  Eric Blake  <ebb9@byu.net>
4719
4720         maint.mk: detect incorrect GFDL usage
4721         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
4722
4723 2010-01-06  Jim Meyering  <meyering@redhat.com>
4724         and Eric Blake  <ebb9@byu.net>
4725
4726         maint.mk: ignore multi-line copyright in NEWS
4727         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
4728
4729 2010-01-06  Eric Blake  <ebb9@byu.net>
4730
4731         select: add missing dependency
4732         * modules/select-tests (Depends-on): Move sockets dependency...
4733         * modules/select (Depends-on): ...here.
4734         Reported by Ian Beckwith.
4735
4736         doc: regenerate INSTALL
4737         * doc/INSTALL: Reflect recent autoconf update.
4738         * doc/INSTALL.ISO: Likewise.
4739         * doc/INSTALL.UTF-8: Likewise.
4740
4741         pread: fix compilation on glibc
4742         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
4743         Reported by Ralf Wildenhues.
4744
4745         dirent: fix test failure
4746         * lib/dirent.in.h (includes): Guarantee ino_t.
4747         Reported by Ralf Wildenhues.
4748
4749 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
4750
4751         linkat, renameat: avoid bad free
4752         * lib/at-func2.c (at_func2): Fix typo.
4753         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
4754
4755 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4756
4757         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
4758         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
4759         to avoid failure of symlink test later.
4760
4761 2010-01-06  Eric Blake  <ebb9@byu.net>
4762
4763         stdio, unistd: guarantee ssize_t
4764         * lib/unistd.in.h (includes): Ensure that types required by POSIX
4765         2008 are exposed when needed.
4766         * lib/stdio.in.h (includes): Likewise.
4767         Reported by Ralf Wildenhues.
4768
4769 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
4770
4771         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
4772         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
4773         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
4774
4775 2010-01-06  Jim Meyering  <meyering@redhat.com>
4776
4777         readtokens: this module *does* require xalloc.h
4778         It uses only functions that were omitted by the old syntax-check rule.
4779         * lib/readtokens.c: Include "xalloc.h" once again.
4780         * modules/readtokens (Depends-on): Add xalloc.
4781         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
4782
4783 2010-01-05  Eric Blake  <ebb9@byu.net>
4784
4785         maint: support 'make announcement' from a VPATH build
4786         * top/maint.mk (announcement): Look for correct NEWS file.
4787
4788 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
4789
4790         utimens (fdutimens): ignore a negative FD, per contract
4791         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
4792         when we have a valid file descriptor.  Otherwise, using a brand
4793         new glibc (with just-patched futimens that now fails with EBADF)
4794         would cause this function to fail with ENOSYS.
4795         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
4796         See also http://bugzilla.redhat.com/552320.
4797
4798 2010-01-05  Eric Blake  <ebb9@byu.net>
4799
4800         strcase: document what it provides
4801         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
4802         gnulib module.
4803         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
4804         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
4805
4806 2010-01-05  Jim Meyering  <meyering@redhat.com>
4807
4808         maint: remove useless inclusions of "xalloc.h"
4809         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
4810         * lib/readtokens.c: Likewise.
4811         * lib/same.c: Likewise.
4812         * modules/getloadavg (Depends-on): Remove xalloc.
4813         * modules/readtokens: Likewise.
4814         * modules/same: Likewise.
4815
4816         maint.mk: include 4 more function names in alloca.h-checking regexp
4817         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
4818         regexp.  Before, we would give a false-positive (saying alloca.h
4819         is included unnecessarily) when the only uses involved omitted symbols.
4820
4821         xalloc.h: use consistent formatting
4822         * lib/xalloc.h: Move declarations to start in the first column.
4823
4824 2010-01-05  Eric Blake  <ebb9@byu.net>
4825
4826         mkdir: avoid xalloc
4827         * lib/mkdir.c (includes): Drop unused header.
4828         Reported by John W. Eaton.
4829
4830 2010-01-04  Jim Meyering  <meyering@redhat.com>
4831
4832         nl_langinfo: avoid configure-time syntax error
4833         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
4834         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
4835         the empty string.  Don't let that provoke a shell syntax error.
4836
4837         regcomp, regexec, fnmatch: avoid array bounds read error
4838         * lib/regcomp.c (build_equiv_class): From glibc:
4839         Use only the low 24 bits of a findidx return value as an index
4840         into the weights array.  Patch by Ulrich Drepper:
4841         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
4842         * lib/regexec.c (check_node_accept_bytes): Likewise.
4843         * lib/fnmatch_loop.c (FCT): Likewise.
4844
4845         regcomp: skip collseq lookup when there are no rules
4846         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
4847         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
4848
4849         regcomp: recognize ill-formed { } expressions
4850         * lib/regcomp.c (parse_dup_op): From glibc:
4851         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
4852
4853         regcomp: fix typo in comment
4854         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
4855         s/satisfy/satisfies/.
4856
4857         regcomp: sync from glibc: remove dead store
4858         * lib/regcomp.c (duplicate_node_closure): Remove useless
4859         search_duplicated_node call and dead store.
4860
4861         regcomp: sync from glibc; always use nl_langinfo
4862         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
4863         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
4864         * modules/regex (Depends-on): Add nl_langinfo.
4865
4866 2010-01-04  Eric Blake  <ebb9@byu.net>
4867
4868         fdopendir: fix configure test
4869         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
4870
4871 2010-01-01  Bruno Haible  <bruno@clisp.org>
4872
4873         wchar: Remove unused configure check.
4874         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
4875
4876 2010-01-01  Eric Blake  <ebb9@byu.net>
4877
4878         headers: make check of system header explicit
4879         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
4880         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
4881         ourselves.
4882         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4883         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4884         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
4885         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
4886         internals.
4887         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
4888         missing.
4889         Suggested by Bruno Haible.
4890
4891 2010-01-01  Jim Meyering  <meyering@redhat.com>
4892
4893         ChangeLog: tweak to eliminate unnecessary copyright line
4894         * ChangeLog: Remove a copyright line that was mistakenly updated
4895         by today's update-copyright run.  Reported by Eric Blake.
4896
4897         test-update-copyright: don't let envvar setting cause test failure
4898         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
4899
4900 2010-01-01  Bruno Haible  <bruno@clisp.org>
4901
4902         localename: Avoid gcc warning.
4903         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
4904         function if it is not used.
4905
4906 2010-01-01  Jim Meyering  <meyering@redhat.com>
4907
4908         update nearly all FSF copyright year lists to include 2010
4909         Use the same procedure as for 2009, outlined in
4910         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
4911
4912         version-etc: set COPYRIGHT_YEAR to 2010
4913         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
4914
4915 2009-12-31  Eric Blake  <ebb9@byu.net>
4916
4917         doc: correct availability of cygwin 1.5.x getopt
4918         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
4919         variables.
4920         * doc/posix-functions/opterr.texi (opterr): Likewise.
4921         * doc/posix-functions/optind.texi (optind): Likewise.
4922         * doc/posix-functions/optopt.texi (optopt): Likewise.
4923         * doc/posix-functions/tzname.texi (tzname): Likewise.
4924
4925         openat: update maintainer
4926         * modules/openat (Maintainer): Add myself.
4927
4928         utimens: avoid shadowing warning
4929         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
4930         buffers into one, to avoid shadowing, as well as avoiding a
4931         redundant stat.
4932         Reported by Jim Meyering.
4933
4934         test-dup2: avoid compiler warning
4935         * tests/test-dup2.c (is_inheritable): Only define if used.
4936
4937 2010-01-01  Bruno Haible  <bruno@clisp.org>
4938
4939         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
4940         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
4941         defined, use wctomb instead of wcrtomb.
4942
4943 2010-01-01  Bruno Haible  <bruno@clisp.org>
4944
4945         iconv: Reject native Solaris iconv.
4946         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
4947         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
4948
4949 2009-12-31  Bruno Haible  <bruno@clisp.org>
4950
4951         * tests/test-signal.c (main): Remove test of 'SIG'.
4952
4953 2009-12-31  Bruno Haible  <bruno@clisp.org>
4954
4955         spawn: Fix incomplete fix.
4956         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
4957         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
4958         warnings for GNULIB_POSIXCHECK again.
4959         Reported by Eric Blake.
4960
4961 2009-12-31  Bruno Haible  <bruno@clisp.org>
4962
4963         Avoid namespace pollution on glibc systems.
4964         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
4965         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
4966         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
4967         glibc systems.
4968
4969 2009-12-31  Bruno Haible  <bruno@clisp.org>
4970
4971         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
4972         (gl_REPLACE_WCHAR_H): Turn into a no-op.
4973         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
4974         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
4975         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
4976         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
4977         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
4978
4979 2009-12-31  Bruno Haible  <bruno@clisp.org>
4980
4981         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4982         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
4983         afterwards.
4984
4985 2009-12-31  Bruno Haible  <bruno@clisp.org>
4986
4987         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
4988         SYS_UTSNAME_H.
4989
4990 2009-12-31  Bruno Haible  <bruno@clisp.org>
4991
4992         spawn: Fix misapplied patch.
4993         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
4994         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
4995         warnings for GNULIB_POSIXCHECK.
4996
4997 2009-12-31  Bruno Haible  <bruno@clisp.org>
4998
4999         times: Update after sys_times changed.
5000         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5001         * modules/times (Files): Add it.
5002         (configure.ac): Invoke gl_FUNC_TIMES.
5003
5004 2009-12-31  Bruno Haible  <bruno@clisp.org>
5005
5006         Use AC_C_INLINE where necessary.
5007         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5008         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5010         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5011         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5012         * m4/mbiter.m4 (gl_MBITER): Likewise.
5013         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5014         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5015         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5016         * modules/u64 (configure.ac): Likewise.
5017
5018 2009-12-31  Bruno Haible  <bruno@clisp.org>
5019
5020         Use AC_C_INLINE instead of module 'inline' where possible.
5021         * modules/inline (Description): Clarify purpose.
5022         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5023         * modules/count-one-bits (Depends-on): Remove inline.
5024         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5025         * modules/openat (Depends-on): Remove inline.
5026         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5027         instead of depending on module 'inline'.
5028         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5029         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5030         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5031         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5032         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5033         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5034         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5035         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5036         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5037         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5038         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5039         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5040         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5041         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5042         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5043         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5044         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5045         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5046         Likewise.
5047         * modules/unictype/property-ascii-hex-digit (Depends-on,
5048         configure.ac): Likewise.
5049         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5050         configure.ac): Likewise.
5051         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5052         configure.ac): Likewise.
5053         * modules/unictype/property-bidi-block-separator (Depends-on,
5054         configure.ac): Likewise.
5055         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5056         configure.ac): Likewise.
5057         * modules/unictype/property-bidi-common-separator (Depends-on,
5058         configure.ac): Likewise.
5059         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5060         Likewise.
5061         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5062         configure.ac): Likewise.
5063         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5064         configure.ac): Likewise.
5065         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5066         configure.ac): Likewise.
5067         * modules/unictype/property-bidi-european-digit (Depends-on,
5068         configure.ac): Likewise.
5069         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5070         configure.ac): Likewise.
5071         * modules/unictype/property-bidi-left-to-right (Depends-on,
5072         configure.ac): Likewise.
5073         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5074         configure.ac): Likewise.
5075         * modules/unictype/property-bidi-other-neutral (Depends-on,
5076         configure.ac): Likewise.
5077         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5078         Likewise.
5079         * modules/unictype/property-bidi-segment-separator (Depends-on,
5080         configure.ac): Likewise.
5081         * modules/unictype/property-bidi-whitespace (Depends-on,
5082         configure.ac): Likewise.
5083         * modules/unictype/property-combining (Depends-on, configure.ac):
5084         Likewise.
5085         * modules/unictype/property-composite (Depends-on, configure.ac):
5086         Likewise.
5087         * modules/unictype/property-currency-symbol (Depends-on,
5088         configure.ac): Likewise.
5089         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5090         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5091         Likewise.
5092         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5093         configure.ac): Likewise.
5094         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5095         Likewise.
5096         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5097         Likewise.
5098         * modules/unictype/property-extender (Depends-on, configure.ac):
5099         Likewise.
5100         * modules/unictype/property-format-control (Depends-on, configure.ac):
5101         Likewise.
5102         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5103         Likewise.
5104         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5105         Likewise.
5106         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5107         Likewise.
5108         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5109         Likewise.
5110         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5111         Likewise.
5112         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5113         Likewise.
5114         * modules/unictype/property-id-start (Depends-on, configure.ac):
5115         Likewise.
5116         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5117         Likewise.
5118         * modules/unictype/property-ids-binary-operator (Depends-on,
5119         configure.ac): Likewise.
5120         * modules/unictype/property-ids-trinary-operator (Depends-on,
5121         configure.ac): Likewise.
5122         * modules/unictype/property-ignorable-control (Depends-on,
5123         configure.ac): Likewise.
5124         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5125         Likewise.
5126         * modules/unictype/property-join-control (Depends-on, configure.ac):
5127         Likewise.
5128         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5129         Likewise.
5130         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5131         Likewise.
5132         * modules/unictype/property-logical-order-exception (Depends-on,
5133         configure.ac): Likewise.
5134         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5135         Likewise.
5136         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5137         * modules/unictype/property-non-break (Depends-on, configure.ac):
5138         Likewise.
5139         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5140         Likewise.
5141         * modules/unictype/property-numeric (Depends-on, configure.ac):
5142         Likewise.
5143         * modules/unictype/property-other-alphabetic (Depends-on,
5144         configure.ac): Likewise.
5145         * modules/unictype/property-other-default-ignorable-code-point
5146         (Depends-on, configure.ac): Likewise.
5147         * modules/unictype/property-other-grapheme-extend (Depends-on,
5148         configure.ac): Likewise.
5149         * modules/unictype/property-other-id-continue (Depends-on,
5150         configure.ac): Likewise.
5151         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5152         Likewise.
5153         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5154         Likewise.
5155         * modules/unictype/property-other-math (Depends-on, configure.ac):
5156         Likewise.
5157         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
5158         Likewise.
5159         * modules/unictype/property-paired-punctuation (Depends-on,
5160         configure.ac): Likewise.
5161         * modules/unictype/property-paragraph-separator (Depends-on,
5162         configure.ac): Likewise.
5163         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
5164         Likewise.
5165         * modules/unictype/property-pattern-white-space (Depends-on,
5166         configure.ac): Likewise.
5167         * modules/unictype/property-private-use (Depends-on, configure.ac):
5168         Likewise.
5169         * modules/unictype/property-punctuation (Depends-on, configure.ac):
5170         Likewise.
5171         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
5172         Likewise.
5173         * modules/unictype/property-radical (Depends-on, configure.ac):
5174         Likewise.
5175         * modules/unictype/property-sentence-terminal (Depends-on,
5176         configure.ac): Likewise.
5177         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
5178         Likewise.
5179         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
5180         * modules/unictype/property-terminal-punctuation (Depends-on,
5181         configure.ac): Likewise.
5182         * modules/unictype/property-titlecase (Depends-on, configure.ac):
5183         Likewise.
5184         * modules/unictype/property-unassigned-code-value (Depends-on,
5185         configure.ac): Likewise.
5186         * modules/unictype/property-unified-ideograph (Depends-on,
5187         configure.ac): Likewise.
5188         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5189         Likewise.
5190         * modules/unictype/property-variation-selector (Depends-on,
5191         configure.ac): Likewise.
5192         * modules/unictype/property-white-space (Depends-on, configure.ac):
5193         Likewise.
5194         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5195         Likewise.
5196         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5197         Likewise.
5198         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5199         Likewise.
5200         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5201         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5202         Likewise.
5203
5204 2009-12-31  Bruno Haible  <bruno@clisp.org>
5205
5206         Remove unnecessary AC_C_INLINE invocation.
5207         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5208         since 2009-08-21.
5209
5210 2009-12-31  Jim Meyering  <meyering@redhat.com>
5211
5212         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5213         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5214         With this change, we can all remove the gpg_key_ID = ... definition
5215         from our respective cfg.mk files.
5216
5217         maint.mk: create announcement template in ~/, not in /tmp
5218         * top/maint.mk (emit_upload_commands): Adjust.
5219         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5220         Remove temporary file, .ci-msg.
5221
5222 2009-12-31  Eric Blake  <ebb9@byu.net>
5223
5224         link-warning: always build headers with link warnings
5225         * modules/arpa_inet (Makefile.am): Always build replacement
5226         header.
5227         * modules/ctype (Makefile.am): Likewise.
5228         * modules/dirent (Makefile.am): Likewise.
5229         * modules/inttypes (Makefile.am): Likewise.
5230         * modules/langinfo (Makefile.am): Likewise.
5231         * modules/locale (Makefile.am): Likewise.
5232         * modules/spawn (Makefile.am): Likewise.
5233         * modules/sys_file (Makefile.am): Likewise.
5234         * modules/sys_ioctl (Makefile.am): Likewise.
5235         * modules/sys_select (Makefile.am): Likewise.
5236         * modules/sys_socket (Makefile.am): Likewise.
5237         * modules/sys_times (Makefile.am): Likewise.
5238         * modules/sys_utsname (Makefile.am): Likewise.
5239         * modules/sys_wait (Makefile.am): Likewise.
5240         * modules/wchar (Makefile.am): Likewise.
5241         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5242         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5243         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5244         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5245         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5246         Likewise.
5247         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5248         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5249         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5250         Likewise.
5251         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5252         Likewise.
5253         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5254         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5255         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5256         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5257         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5258         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5259         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5260         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5261         (gl_WCHAR_H_DEFAULTS): Likewise.
5262
5263 2009-12-31  Eric Blake  <ebb9@byu.net>
5264
5265         signal, spawn: use link warnings
5266         * lib/signal.in.h (sigset_t): Make unconditional.
5267         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5268         (sigpending, sigprocmask, sigaction): Add link warnings.
5269         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5270         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5271         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5272         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5273         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5274         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5275         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5276         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5277         (posix_spawn_file_actions_destroy)
5278         (posix_spawn_file_actions_addopen)
5279         (posix_spawn_file_actions_addclose)
5280         (posix_spawn_file_actions_adddup2): Likewise.
5281         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5282         * tests/test-signal.c (main): Enhance test.
5283
5284         spawn: improve wrapper support
5285         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5286         (gl_SPAWN_H_DEFAULTS): New defaults.
5287         * modules/spawn (Makefile.am): Substitute them.
5288         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5289         Only declare if missing or broken.
5290
5291         sys_times, sys_utsname: use include_next
5292         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5293         header.
5294         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5295         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5296         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5297         * modules/sys_times (Depends-on): Add include_next.
5298         (Makefile.am): Substitute additional values.
5299         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5300         * lib/sys_times.in.h (includes): Include native header, if
5301         available.
5302         * lib/sys_utsname.in.h (includes): Likewise.
5303         * tests/test-sys_times.c (main): Enhance test.
5304
5305         fdutimensat: revert prior patch
5306         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5307         utimens.h.
5308         Reported by Bruno Haible.
5309
5310 2009-12-30  Eric Blake  <ebb9@byu.net>
5311
5312         sys_wait: drop link-warning dependency
5313         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5314         link-warning efforts.
5315         * lib/sys_wait.in.h: Likewise.
5316
5317         fdutimensat: remove bogus dependency
5318         * modules/fdutimensat (Depends-on): Drop inline.
5319
5320         unistd: fix typo
5321         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5322
5323 2009-12-30  Bruno Haible  <bruno@clisp.org>
5324
5325         Fix compilation error with Solaris cc.
5326         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5327         * lib/unicase/u16-is-invariant.c: Likewise.
5328         * lib/unicase/u32-is-invariant.c: Likewise.
5329         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5330
5331 2009-12-30  Bruno Haible  <bruno@clisp.org>
5332
5333         Fix test crash.
5334         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5335         locales.
5336         Reported by Simon Josefsson <simon@josefsson.org>.
5337
5338 2009-12-30  Bruno Haible  <bruno@clisp.org>
5339
5340         Fix compilation error on most platforms.
5341         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5342         Reported by Simon Josefsson <simon@josefsson.org>
5343         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5344
5345 2009-12-30  Eric Blake  <ebb9@byu.net>
5346
5347         futimens, utimensat: work around ntfs-3g bug
5348         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5349         a ctime bug is present, and expand workaround to cover ntfs-3g.
5350         * lib/utimens.c (fdutimens, lutimens): Likewise.
5351         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5352         (validate_timespec): Adjust return value.
5353         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5354         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5355         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5356
5357 2009-12-29  Eric Blake  <ebb9@byu.net>
5358
5359         link-warning: make usage consistent
5360         * modules/ctype (Depends-on): Add link-warning.
5361         (Makefile.am): Update rules accordingly.
5362         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5363         * modules/locale (Depends-on, Makefile.am): Likewise.
5364         * modules/sys_file (Makefile.am): Likewise.
5365         * modules/getopt-posix (Makefile.am): Delete unused link warning
5366         efforts.
5367         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5368         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5369         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5370         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5371
5372         stdio: remove unused variables
5373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5374         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5375         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5376
5377         tests: test more substitute headers
5378         * modules/ctype-tests: New file.
5379         * modules/dirent-tests: Likewise.
5380         * modules/spawn-tests: Likewise.
5381         * modules/sys_file-tests: Likewise.
5382         * modules/sys_ioctl-tests: Likewise.
5383         * modules/sys_wait-tests: Likewise.
5384         * tests/test-ctype.c: Likewise.
5385         * tests/test-dirent.c: Likewise.
5386         * tests/test-spawn.c: Likewise.
5387         * tests/test-sys_file.c: Likewise.
5388         * tests/test-sys_ioctl.c: Likewise.
5389         * tests/test-sys_wait.c: Likewise.
5390         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5391         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5392         whether or not flock is in use.
5393
5394         tests: remove License section from module
5395         * modules/arpa_inet-tests: Remove unneeded section.
5396         * modules/byteswap-tests: Likewise.
5397         * modules/ceilf-tests: Likewise.
5398         * modules/ceill-tests: Likewise.
5399         * modules/crypto/des-tests: Likewise.
5400         * modules/crypto/gc-arcfour-tests: Likewise.
5401         * modules/crypto/gc-arctwo-tests: Likewise.
5402         * modules/crypto/gc-des-tests: Likewise.
5403         * modules/crypto/gc-hmac-md5-tests: Likewise.
5404         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5405         * modules/crypto/gc-md2-tests: Likewise.
5406         * modules/crypto/gc-md4-tests: Likewise.
5407         * modules/crypto/gc-md5-tests: Likewise.
5408         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5409         * modules/crypto/gc-rijndael-tests: Likewise.
5410         * modules/crypto/gc-sha1-tests: Likewise.
5411         * modules/crypto/gc-tests: Likewise.
5412         * modules/crypto/md2-tests: Likewise.
5413         * modules/crypto/md4-tests: Likewise.
5414         * modules/fcntl-h-tests: Likewise.
5415         * modules/floorf-tests: Likewise.
5416         * modules/floorl-tests: Likewise.
5417         * modules/frexp-nolibm-tests: Likewise.
5418         * modules/frexp-tests: Likewise.
5419         * modules/frexpl-nolibm-tests: Likewise.
5420         * modules/frexpl-tests: Likewise.
5421         * modules/getaddrinfo-tests: Likewise.
5422         * modules/inttypes-tests: Likewise.
5423         * modules/isfinite-tests: Likewise.
5424         * modules/isinf-tests: Likewise.
5425         * modules/ldexpl-tests: Likewise.
5426         * modules/locale-tests: Likewise.
5427         * modules/math-tests: Likewise.
5428         * modules/netdb-tests: Likewise.
5429         * modules/netinet_in-tests: Likewise.
5430         * modules/printf-frexp-tests: Likewise.
5431         * modules/printf-frexpl-tests: Likewise.
5432         * modules/priv-set-tests: Likewise.
5433         * modules/random_r-tests: Likewise.
5434         * modules/round-tests: Likewise.
5435         * modules/roundf-tests: Likewise.
5436         * modules/roundl-tests: Likewise.
5437         * modules/search-tests: Likewise.
5438         * modules/select-tests: Likewise.
5439         * modules/signal-tests: Likewise.
5440         * modules/stdbool-tests: Likewise.
5441         * modules/stddef-tests: Likewise.
5442         * modules/stdint-tests: Likewise.
5443         * modules/stdio-tests: Likewise.
5444         * modules/stdlib-tests: Likewise.
5445         * modules/string-tests: Likewise.
5446         * modules/strings-tests: Likewise.
5447         * modules/sys_select-tests: Likewise.
5448         * modules/sys_socket-tests: Likewise.
5449         * modules/sys_stat-tests: Likewise.
5450         * modules/sys_time-tests: Likewise.
5451         * modules/sys_utsname-tests: Likewise.
5452         * modules/sysexits-tests: Likewise.
5453         * modules/time-tests: Likewise.
5454         * modules/trunc-tests: Likewise.
5455         * modules/truncf-tests: Likewise.
5456         * modules/truncl-tests: Likewise.
5457         * modules/tsearch-tests: Likewise.
5458         * modules/unistd-tests: Likewise.
5459         * modules/wchar-tests: Likewise.
5460         * modules/wctype-tests: Likewise.
5461
5462         tests: fix license on several tests
5463         * tests/test-des.c: Update to GPLv3+.
5464         * tests/test-flock.c: Likewise.
5465         * tests/test-fsync.c: Likewise.
5466         * tests/test-futimens.h: Likewise.
5467         * tests/test-gc-arcfour.c: Likewise.
5468         * tests/test-gc-arctwo.c: Likewise.
5469         * tests/test-gc-des.c: Likewise.
5470         * tests/test-gc-hmac-md5.c: Likewise.
5471         * tests/test-gc-hmac-sha1.c: Likewise.
5472         * tests/test-gc-md2.c: Likewise.
5473         * tests/test-gc-md4.c: Likewise.
5474         * tests/test-gc-md5.c: Likewise.
5475         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5476         * tests/test-gc-rijndael.c: Likewise.
5477         * tests/test-gc-sha1.c: Likewise.
5478         * tests/test-gc.c: Likewise.
5479         * tests/test-getcwd.c: Likewise.
5480         * tests/test-link.c: Likewise.
5481         * tests/test-link.h: Likewise.
5482         * tests/test-lutimens.h: Likewise.
5483         * tests/test-md2.c: Likewise.
5484         * tests/test-md4.c: Likewise.
5485         * tests/test-mkdir.h: Likewise.
5486         * tests/test-rename.c: Likewise.
5487         * tests/test-rename.h: Likewise.
5488         * tests/test-safe-alloc.c: Likewise.
5489         * tests/test-utimens-common.h: Likewise.
5490         * tests/test-utimens.h: Likewise.
5491
5492         maint: sync license texts
5493         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5494         * doc/gpl-3.0.texi: Revert copyright year update.
5495         * doc/lgpl-3.0.texi: Likewise.
5496
5497 2009-12-29  Jim Meyering  <meyering@redhat.com>
5498
5499         update nearly all FSF copyright year lists to include 2009
5500         The files named by the following are exempted:
5501             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5502               test -f "$dst" && { echo "$dst"; continue; }
5503               test -d "$dst" || continue
5504               echo "$dst"/$(basename "$src")
5505             done > exempt
5506             git ls-files tests/unictype >> exempt
5507         In the remaining files, convert to all-interval notation if
5508         - there is already at least one year interval like 2000-2003
5509         - the file is maintained by me
5510         - the file is in lib/uni*/, where that style already prevails
5511         Otherwise, use update-copyright's default.
5512
5513 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5514         and Eric Blake  <ebb9@byu.net>
5515
5516         tests: don't require debug system() to pass
5517         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5518         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5519         * tests/test-unlink.h (test_unlink_func): Likewise.
5520         * tests/test-fstatat.c (main): ...into callers.
5521         * tests/test-lstat.c (main): Likewise.
5522         * tests/test-rmdir.c (main): Likewise.
5523         * tests/test-unlink.c (main): Likewise.
5524         * tests/test-unlinkat.c (main): Likewise.
5525         * tests/test-areadlink-with-size.c (main): Don't require a
5526         debug-only system call to pass, aiding cross-testing to mingw.
5527         * tests/test-areadlink.c (main): Likewise.
5528         * tests/test-areadlinkat-with-size.c (main): Likewise.
5529         * tests/test-areadlinkat.c (main): Likewise.
5530         * tests/test-canonicalize-lgpl.c (main): Likewise.
5531         * tests/test-canonicalize.c (main): Likewise.
5532         * tests/test-chown.c (main): Likewise.
5533         * tests/test-fchownat.c (main): Likewise.
5534         * tests/test-lchown.c (main): Likewise.
5535         * tests/test-fdutimensat.c (main): Likewise.
5536         * tests/test-futimens.c (main): Likewise.
5537         * tests/test-link.c (main): Likewise.
5538         * tests/test-linkat.c (main): Likewise.
5539         * tests/test-mkdir.c (main): Likewise.
5540         * tests/test-mkdirat.c (main): Likewise.
5541         * tests/test-mkfifo.c (main): Likewise.
5542         * tests/test-mkfifoat.c (main): Likewise.
5543         * tests/test-mknod.c (main): Likewise.
5544         * tests/test-readlink.c (main): Likewise.
5545         * tests/test-remove.c (main): Likewise.
5546         * tests/test-rename.c (main): Likewise.
5547         * tests/test-renameat.c (main): Likewise.
5548         * tests/test-symlink.c (main): Likewise.
5549         * tests/test-symlinkat.c (main): Likewise.
5550         * tests/test-utimens.c (main): Likewise.
5551         * tests/test-utimensat.c (main): Likewise.
5552
5553 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5554
5555         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5556         on $(UNUSED_PARAMETER_H) to avoid build failure.
5557
5558 2009-12-28  Jim Meyering  <meyering@redhat.com>
5559
5560         update-copyright: you may specify a max. line length other than 72
5561         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5562
5563         maint: use consistent FSF copyright line syntax
5564         * lib/posixtm.c: Add missing comma in FSF copyright line.
5565         * lib/posixtm.h: Likewise.
5566         * lib/getugroups.c: Add missing ", Inc.".
5567
5568         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5569         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5570         FSF copyright line.  Remove trailing blanks.
5571
5572 2009-12-28  Eric Blake  <ebb9@byu.net>
5573
5574         test-dup2: reduce dependencies
5575         * modules/cloexec (Configure.ac): Set witness.
5576         * modules/dup2-tests (Depends-on): Drop cloexec.
5577         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5578         not present.
5579         Suggested by Bruno Haible.
5580
5581 2009-12-26  Bruno Haible  <bruno@clisp.org>
5582
5583         Remove an unneeded dependency.
5584         * modules/fseterr (Depends-on): Remove dup2.
5585
5586 2009-12-26  Eric Blake  <ebb9@byu.net>
5587
5588         tests: use macros.h in more places
5589         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5590         (ASSERT_STREAM): Provide default of stderr.
5591         * tests/test-dirent-safer.c: Include macros.h, using alternate
5592         stream for assertions.
5593         * tests/test-dup-safer.c: Likewise.
5594         * tests/test-freopen-safer.c: Likewise.
5595         * tests/test-getopt.c: Likewise.
5596         * tests/test-openat-safer.c: Likewise.
5597         * tests/test-pipe.c: Likewise.
5598         * tests/test-popen-safer.c: Likewise.
5599         * modules/dirent-safer-tests (Files): Include macros.h.
5600         * modules/unistd-safer-tests (Files): Likewise.
5601         * modules/freopen-safer-tests (Files): Likewise.
5602         * modules/getopt-posix-tests (Files): Likewise.
5603         * modules/openat-safer-tests (Files): Likewise.
5604         * modules/pipe-tests (Files): Likewise.
5605
5606 2009-12-26  Bruno Haible  <bruno@clisp.org>
5607
5608         javacomp: Portability fix.
5609         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5610         that it also works on Solaris.
5611
5612 2009-12-26  Bruno Haible  <bruno@clisp.org>
5613
5614         localename: Fix storage allocation of gl_locale_name_thread's result.
5615         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5616         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5617         all platforms that have 'uselocale'.
5618         (gl_locale_name_thread_unsafe): New function, extracted from
5619         gl_locale_name_thread.
5620         (gl_locale_name_thread): Call struniq on all platforms that have
5621         'uselocale'.
5622         * tests/test-localename.c (test_locale_name_thread): Check that the
5623         resulting strings are permanently allocated.
5624         * modules/localename-tests (Depends-on): Add strdup.
5625
5626 2009-12-26  Bruno Haible  <bruno@clisp.org>
5627
5628         * tests/test-localename.c (categories): Fill in the strings.
5629
5630 2009-12-26  Jim Meyering  <meyering@redhat.com>
5631
5632         isdir: complete the removal of m4/isdir.m4
5633         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5634
5635         isdir: clean up, since at least grep still uses it
5636         * lib/isdir.c: Include "isdir.h".
5637         (S_ISDIR): Remove now-unneeded definition.
5638         * modules/isdir (Files): Add lib/isdir.h.
5639         * lib/isdir.h: New file, with declaration.
5640         * m4/isdir.m4: Remove file -- unneeded.
5641
5642 2009-12-25  Bruno Haible  <bruno@clisp.org>
5643
5644         selinux-h: Make generated .h files standalone.
5645         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
5646         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
5647         * lib/se-selinux.in.h: Likewise.
5648         * modules/selinux-h (Depends-on): Add unused-parameter.
5649         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
5650         selinux/selinux.h and selinux/context.h.
5651         Suggested by Eric Blake.
5652
5653 2009-12-25  Bruno Haible  <bruno@clisp.org>
5654
5655         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
5656         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
5657         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
5658         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
5659         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
5660
5661 2009-12-24  Bruno Haible  <bruno@clisp.org>
5662
5663         openat: Fix warning.
5664         * lib/openat-proc.c: Include <unistd.h>.
5665
5666 2009-12-24  Bruno Haible  <bruno@clisp.org>
5667
5668         New module 'unused-parameter'.
5669         * build-aux/unused-parameter.h: New file, extracted from earlier
5670         gnulib-common.m4.
5671         * modules/unused-parameter: New file.
5672         * lib/unistr.h: Include unused-parameter.h.
5673         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
5674         _GL_UNUSED.
5675         * modules/unistr/base (Depends-on): Add unused-parameter.
5676
5677 2009-12-24  Bruno Haible  <bruno@clisp.org>
5678
5679         Add missing dependencies to 'extensions' module.
5680         * m4/extensions.m4: Add comment.
5681         * modules/accept4 (Depends-on): Add extensions.
5682         * modules/dup3 (Depends-on): Likewise.
5683         * modules/fcntl (Depends-on): Likewise.
5684         * modules/futimens (Depends-on): Likewise.
5685         * modules/mknod (Depends-on): Likewise.
5686         * modules/pipe2 (Depends-on): Likewise.
5687         * modules/stat-time (Depends-on): Likewise.
5688         * modules/strcasestr-simple (Depends-on): Likewise.
5689         * modules/strsignal (Depends-on): Likewise.
5690         * modules/utimensat (Depends-on): Likewise.
5691         * modules/localcharset (Depends-on): Likewise. Needed because of
5692         gl_FCNTL_O_FLAGS.
5693         * modules/wcrtomb (Depends-on): Likewise. Needed because of
5694         AC_TYPE_MBSTATE_T.
5695         * modules/wcsnrtombs (Depends-on): Likewise.
5696         * modules/wcsrtombs (Depends-on): Likewise.
5697
5698 2009-12-24  Bruno Haible  <bruno@clisp.org>
5699
5700         binary-io: Avoid gcc warning due to SET_BINARY.
5701         * lib/binary-io.h (SET_BINARY): Cast the result to void.
5702         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
5703
5704 2009-12-24  Bruno Haible  <bruno@clisp.org>
5705
5706         Avoid future namespace pollution on glibc systems.
5707         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
5708         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
5709         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
5710         glibc systems.
5711
5712 2009-12-24  Bruno Haible  <bruno@clisp.org>
5713
5714         Refactor common macros used in tests.
5715         * tests/macros.h: New file.
5716         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
5717         and/or <stdlib.h>, if appropriate.
5718         (ASSERT, SIZEOF): Remove macros.
5719         * tests/test-areadlink-with-size.c: Likewise.
5720         * tests/test-areadlinkat.c: Likewise.
5721         * tests/test-areadlinkat-with-size.c: Likewise.
5722         * tests/test-argmatch.c: Likewise.
5723         * tests/test-argv-iter.c: Likewise.
5724         * tests/test-array-mergesort.c: Likewise.
5725         * tests/test-array_list.c: Likewise.
5726         * tests/test-array_oset.c: Likewise.
5727         * tests/test-avltree_list.c: Likewise.
5728         * tests/test-avltree_oset.c: Likewise.
5729         * tests/test-avltreehash_list.c: Likewise.
5730         * tests/test-base64.c: Likewise.
5731         * tests/test-binary-io.c: Likewise.
5732         * tests/test-bitrotate.c: Likewise.
5733         * tests/test-btowc.c: Likewise.
5734         * tests/test-byteswap.c: Likewise.
5735         * tests/test-c-ctype.c: Likewise.
5736         * tests/test-c-stack.c: Likewise.
5737         * tests/test-c-strcasecmp.c: Likewise.
5738         * tests/test-c-strcasestr.c: Likewise.
5739         * tests/test-c-strncasecmp.c: Likewise.
5740         * tests/test-c-strstr.c: Likewise.
5741         * tests/test-canonicalize-lgpl.c: Likewise.
5742         * tests/test-canonicalize.c: Likewise.
5743         * tests/test-carray_list.c: Likewise.
5744         * tests/test-ceilf1.c: Likewise.
5745         * tests/test-ceilf2.c: Likewise.
5746         * tests/test-ceill.c: Likewise.
5747         * tests/test-chown.c: Likewise.
5748         * tests/test-cloexec.c: Likewise.
5749         * tests/test-copy-acl.c: Likewise.
5750         * tests/test-copy-file.c: Likewise.
5751         * tests/test-count-one-bits.c: Likewise.
5752         * tests/test-dprintf-posix.c: Likewise.
5753         * tests/test-dup2.c: Likewise.
5754         * tests/test-dup3.c: Likewise.
5755         * tests/test-duplocale.c: Likewise.
5756         * tests/test-fbufmode.c: Likewise.
5757         * tests/test-fchdir.c: Likewise.
5758         * tests/test-fchownat.c: Likewise.
5759         * tests/test-fcntl-safer.c: Likewise.
5760         * tests/test-fcntl.c: Likewise.
5761         * tests/test-fdopendir.c: Likewise.
5762         * tests/test-fdutimensat.c: Likewise.
5763         * tests/test-fflush2.c: Likewise.
5764         * tests/test-file-has-acl.c: Likewise.
5765         * tests/test-filevercmp.c: Likewise.
5766         * tests/test-flock.c: Likewise.
5767         * tests/test-floorf1.c: Likewise.
5768         * tests/test-floorf2.c: Likewise.
5769         * tests/test-floorl.c: Likewise.
5770         * tests/test-fnmatch.c: Likewise.
5771         * tests/test-fopen.h: Likewise.
5772         * tests/test-fpending.c: Likewise.
5773         * tests/test-fprintf-posix.c: Likewise.
5774         * tests/test-fpurge.c: Likewise.
5775         * tests/test-freadable.c: Likewise.
5776         * tests/test-freadahead.c: Likewise.
5777         * tests/test-freading.c: Likewise.
5778         * tests/test-freadptr.c: Likewise.
5779         * tests/test-freadptr2.c: Likewise.
5780         * tests/test-freadseek.c: Likewise.
5781         * tests/test-freopen.c: Likewise.
5782         * tests/test-frexp.c: Likewise.
5783         * tests/test-frexpl.c: Likewise.
5784         * tests/test-fseek.c: Likewise.
5785         * tests/test-fseeko.c: Likewise.
5786         * tests/test-fstatat.c: Likewise.
5787         * tests/test-fstrcmp.c: Likewise.
5788         * tests/test-fsync.c: Likewise.
5789         * tests/test-ftell.c: Likewise.
5790         * tests/test-ftello.c: Likewise.
5791         * tests/test-func.c: Likewise.
5792         * tests/test-futimens.c: Likewise.
5793         * tests/test-fwritable.c: Likewise.
5794         * tests/test-fwriting.c: Likewise.
5795         * tests/test-getcwd.c: Likewise.
5796         * tests/test-getdate.c: Likewise.
5797         * tests/test-getdelim.c: Likewise.
5798         * tests/test-getdtablesize.c: Likewise.
5799         * tests/test-getgroups.c: Likewise.
5800         * tests/test-getline.c: Likewise.
5801         * tests/test-getndelim2.c: Likewise.
5802         * tests/test-glob.c: Likewise.
5803         * tests/test-hash.c: Likewise.
5804         * tests/test-i-ring.c: Likewise.
5805         * tests/test-iconv-utf.c: Likewise.
5806         * tests/test-iconv.c: Likewise.
5807         * tests/test-idpriv-drop.c: Likewise.
5808         * tests/test-idpriv-droptemp.c: Likewise.
5809         * tests/test-inet_ntop.c: Likewise.
5810         * tests/test-inet_pton.c: Likewise.
5811         * tests/test-isblank.c: Likewise.
5812         * tests/test-isfinite.c: Likewise.
5813         * tests/test-isinf.c: Likewise.
5814         * tests/test-isnan.c: Likewise.
5815         * tests/test-isnand.h: Likewise.
5816         * tests/test-isnanf.h: Likewise.
5817         * tests/test-isnanl.h: Likewise.
5818         * tests/test-lchown.c: Likewise.
5819         * tests/test-ldexpl.c: Likewise.
5820         * tests/test-link.c: Likewise.
5821         * tests/test-linkat.c: Likewise.
5822         * tests/test-linked_list.c: Likewise.
5823         * tests/test-linkedhash_list.c: Likewise.
5824         * tests/test-localename.c: Likewise.
5825         * tests/test-lseek.c: Likewise.
5826         * tests/test-lstat.c: Likewise.
5827         * tests/test-mbmemcasecmp.c: Likewise.
5828         * tests/test-mbmemcasecoll.c: Likewise.
5829         * tests/test-mbrtowc.c: Likewise.
5830         * tests/test-mbscasecmp.c: Likewise.
5831         * tests/test-mbscasestr1.c: Likewise.
5832         * tests/test-mbscasestr2.c: Likewise.
5833         * tests/test-mbscasestr3.c: Likewise.
5834         * tests/test-mbscasestr4.c: Likewise.
5835         * tests/test-mbschr.c: Likewise.
5836         * tests/test-mbscspn.c: Likewise.
5837         * tests/test-mbsinit.c: Likewise.
5838         * tests/test-mbsncasecmp.c: Likewise.
5839         * tests/test-mbsnrtowcs.c: Likewise.
5840         * tests/test-mbspbrk.c: Likewise.
5841         * tests/test-mbspcasecmp.c: Likewise.
5842         * tests/test-mbsrchr.c: Likewise.
5843         * tests/test-mbsrtowcs.c: Likewise.
5844         * tests/test-mbsspn.c: Likewise.
5845         * tests/test-mbsstr1.c: Likewise.
5846         * tests/test-mbsstr2.c: Likewise.
5847         * tests/test-mbsstr3.c: Likewise.
5848         * tests/test-memchr.c: Likewise.
5849         * tests/test-memchr2.c: Likewise.
5850         * tests/test-memcmp.c: Likewise.
5851         * tests/test-memmem.c: Likewise.
5852         * tests/test-memrchr.c: Likewise.
5853         * tests/test-mkdir.c: Likewise.
5854         * tests/test-mkdirat.c: Likewise.
5855         * tests/test-mkfifo.c: Likewise.
5856         * tests/test-mkfifoat.c: Likewise.
5857         * tests/test-mknod.c: Likewise.
5858         * tests/test-nanosleep.c: Likewise.
5859         * tests/test-nl_langinfo.c: Likewise.
5860         * tests/test-obstack-printf.c: Likewise.
5861         * tests/test-open.c: Likewise.
5862         * tests/test-openat.c: Likewise.
5863         * tests/test-pipe-filter-gi1.c: Likewise.
5864         * tests/test-pipe-filter-gi2-main.c: Likewise.
5865         * tests/test-pipe-filter-ii1.c: Likewise.
5866         * tests/test-pipe-filter-ii2-main.c: Likewise.
5867         * tests/test-pipe2.c: Likewise.
5868         * tests/test-popen.h: Likewise.
5869         * tests/test-posixtm.c: Likewise.
5870         * tests/test-pread.c: Likewise.
5871         * tests/test-printf-frexp.c: Likewise.
5872         * tests/test-printf-frexpl.c: Likewise.
5873         * tests/test-printf-posix.c: Likewise.
5874         * tests/test-priv-set.c: Likewise.
5875         * tests/test-quotearg.c: Likewise.
5876         * tests/test-random_r.c: Likewise.
5877         * tests/test-rawmemchr.c: Likewise.
5878         * tests/test-rbtree_list.c: Likewise.
5879         * tests/test-rbtree_oset.c: Likewise.
5880         * tests/test-rbtreehash_list.c: Likewise.
5881         * tests/test-readlink.c: Likewise.
5882         * tests/test-remove.c: Likewise.
5883         * tests/test-rename.c: Likewise.
5884         * tests/test-renameat.c: Likewise.
5885         * tests/test-rmdir.c: Likewise.
5886         * tests/test-round1.c: Likewise.
5887         * tests/test-roundf1.c: Likewise.
5888         * tests/test-roundl.c: Likewise.
5889         * tests/test-safe-alloc.c: Likewise.
5890         * tests/test-sameacls.c: Likewise.
5891         * tests/test-set-mode-acl.c: Likewise.
5892         * tests/test-setenv.c: Likewise.
5893         * tests/test-sigaction.c: Likewise.
5894         * tests/test-signbit.c: Likewise.
5895         * tests/test-sleep.c: Likewise.
5896         * tests/test-snprintf-posix.c: Likewise.
5897         * tests/test-snprintf.c: Likewise.
5898         * tests/test-sprintf-posix.c: Likewise.
5899         * tests/test-stat-time.c: Likewise.
5900         * tests/test-stat.c: Likewise.
5901         * tests/test-strcasestr.c: Likewise.
5902         * tests/test-strchrnul.c: Likewise.
5903         * tests/test-strerror.c: Likewise.
5904         * tests/test-striconv.c: Likewise.
5905         * tests/test-striconveh.c: Likewise.
5906         * tests/test-striconveha.c: Likewise.
5907         * tests/test-strsignal.c: Likewise.
5908         * tests/test-strstr.c: Likewise.
5909         * tests/test-strtod.c: Likewise.
5910         * tests/test-strverscmp.c: Likewise.
5911         * tests/test-symlink.c: Likewise.
5912         * tests/test-symlinkat.c: Likewise.
5913         * tests/test-trunc1.c: Likewise.
5914         * tests/test-trunc2.c: Likewise.
5915         * tests/test-truncf1.c: Likewise.
5916         * tests/test-truncf2.c: Likewise.
5917         * tests/test-truncl.c: Likewise.
5918         * tests/test-uname.c: Likewise.
5919         * tests/test-unlink.c: Likewise.
5920         * tests/test-unlinkat.c: Likewise.
5921         * tests/test-unsetenv.c: Likewise.
5922         * tests/test-usleep.c: Likewise.
5923         * tests/test-utimens.c: Likewise.
5924         * tests/test-utimensat.c: Likewise.
5925         * tests/test-vasnprintf-posix.c: Likewise.
5926         * tests/test-vasnprintf-posix2.c: Likewise.
5927         * tests/test-vasnprintf.c: Likewise.
5928         * tests/test-vasprintf-posix.c: Likewise.
5929         * tests/test-vasprintf.c: Likewise.
5930         * tests/test-vdprintf-posix.c: Likewise.
5931         * tests/test-vfprintf-posix.c: Likewise.
5932         * tests/test-vprintf-posix.c: Likewise.
5933         * tests/test-vsnprintf-posix.c: Likewise.
5934         * tests/test-vsnprintf.c: Likewise.
5935         * tests/test-vsprintf-posix.c: Likewise.
5936         * tests/test-wcrtomb.c: Likewise.
5937         * tests/test-wcsnrtombs.c: Likewise.
5938         * tests/test-wcsrtombs.c: Likewise.
5939         * tests/test-wctype.c: Likewise.
5940         * tests/test-wcwidth.c: Likewise.
5941         * tests/test-xfprintf-posix.c: Likewise.
5942         * tests/test-xmemdup0.c: Likewise.
5943         * tests/test-xprintf-posix.c: Likewise.
5944         * tests/test-xvasprintf.c: Likewise.
5945         * tests/unicase/test-locale-language.c: Likewise.
5946         * tests/unicase/test-mapping-part1.h: Likewise.
5947         * tests/unicase/test-predicate-part1.h: Likewise.
5948         * tests/unicase/test-u8-casecmp.c: Likewise.
5949         * tests/unicase/test-u8-casecoll.c: Likewise.
5950         * tests/unicase/test-u8-casefold.c: Likewise.
5951         * tests/unicase/test-u8-is-cased.c: Likewise.
5952         * tests/unicase/test-u8-is-casefolded.c: Likewise.
5953         * tests/unicase/test-u8-is-lowercase.c: Likewise.
5954         * tests/unicase/test-u8-is-titlecase.c: Likewise.
5955         * tests/unicase/test-u8-is-uppercase.c: Likewise.
5956         * tests/unicase/test-u8-tolower.c: Likewise.
5957         * tests/unicase/test-u8-totitle.c: Likewise.
5958         * tests/unicase/test-u8-toupper.c: Likewise.
5959         * tests/unicase/test-u16-casecmp.c: Likewise.
5960         * tests/unicase/test-u16-casecoll.c: Likewise.
5961         * tests/unicase/test-u16-casefold.c: Likewise.
5962         * tests/unicase/test-u16-is-cased.c: Likewise.
5963         * tests/unicase/test-u16-is-casefolded.c: Likewise.
5964         * tests/unicase/test-u16-is-lowercase.c: Likewise.
5965         * tests/unicase/test-u16-is-titlecase.c: Likewise.
5966         * tests/unicase/test-u16-is-uppercase.c: Likewise.
5967         * tests/unicase/test-u16-tolower.c: Likewise.
5968         * tests/unicase/test-u16-totitle.c: Likewise.
5969         * tests/unicase/test-u16-toupper.c: Likewise.
5970         * tests/unicase/test-u32-casecmp.c: Likewise.
5971         * tests/unicase/test-u32-casecoll.c: Likewise.
5972         * tests/unicase/test-u32-casefold.c: Likewise.
5973         * tests/unicase/test-u32-is-cased.c: Likewise.
5974         * tests/unicase/test-u32-is-casefolded.c: Likewise.
5975         * tests/unicase/test-u32-is-lowercase.c: Likewise.
5976         * tests/unicase/test-u32-is-titlecase.c: Likewise.
5977         * tests/unicase/test-u32-is-uppercase.c: Likewise.
5978         * tests/unicase/test-u32-tolower.c: Likewise.
5979         * tests/unicase/test-u32-totitle.c: Likewise.
5980         * tests/unicase/test-u32-toupper.c: Likewise.
5981         * tests/unicase/test-ulc-casecmp.c: Likewise.
5982         * tests/unicase/test-ulc-casecoll.c: Likewise.
5983         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
5984         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
5985         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
5986         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
5987         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
5988         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
5989         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
5990         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
5991         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
5992         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
5993         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
5994         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
5995         * tests/unictype/test-bidi_byname.c: Likewise.
5996         * tests/unictype/test-bidi_name.c: Likewise.
5997         * tests/unictype/test-bidi_of.c: Likewise.
5998         * tests/unictype/test-bidi_test.c: Likewise.
5999         * tests/unictype/test-block_list.c: Likewise.
6000         * tests/unictype/test-block_of.c: Likewise.
6001         * tests/unictype/test-block_test.c: Likewise.
6002         * tests/unictype/test-categ_and.c: Likewise.
6003         * tests/unictype/test-categ_and_not.c: Likewise.
6004         * tests/unictype/test-categ_byname.c: Likewise.
6005         * tests/unictype/test-categ_name.c: Likewise.
6006         * tests/unictype/test-categ_none.c: Likewise.
6007         * tests/unictype/test-categ_of.c: Likewise.
6008         * tests/unictype/test-categ_or.c: Likewise.
6009         * tests/unictype/test-categ_test_withtable.c: Likewise.
6010         * tests/unictype/test-combining.c: Likewise.
6011         * tests/unictype/test-decdigit.c: Likewise.
6012         * tests/unictype/test-digit.c: Likewise.
6013         * tests/unictype/test-mirror.c: Likewise.
6014         * tests/unictype/test-numeric.c: Likewise.
6015         * tests/unictype/test-pr_byname.c: Likewise.
6016         * tests/unictype/test-pr_test.c: Likewise.
6017         * tests/unictype/test-predicate-part1.h: Likewise.
6018         * tests/unictype/test-scripts.c: Likewise.
6019         * tests/unictype/test-sy_c_ident.c: Likewise.
6020         * tests/unictype/test-sy_java_ident.c: Likewise.
6021         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6022         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6023         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6024         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6025         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6026         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6027         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6028         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6029         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6030         * tests/uninorm/test-compat-decomposition.c: Likewise.
6031         * tests/uninorm/test-composition.c: Likewise.
6032         * tests/uninorm/test-decomposing-form.c: Likewise.
6033         * tests/uninorm/test-decomposition.c: Likewise.
6034         * tests/uninorm/test-u8-nfc.c: Likewise.
6035         * tests/uninorm/test-u8-nfd.c: Likewise.
6036         * tests/uninorm/test-u8-nfkc.c: Likewise.
6037         * tests/uninorm/test-u8-nfkd.c: Likewise.
6038         * tests/uninorm/test-u8-normcmp.c: Likewise.
6039         * tests/uninorm/test-u8-normcoll.c: Likewise.
6040         * tests/uninorm/test-u16-nfc.c: Likewise.
6041         * tests/uninorm/test-u16-nfd.c: Likewise.
6042         * tests/uninorm/test-u16-nfkc.c: Likewise.
6043         * tests/uninorm/test-u16-nfkd.c: Likewise.
6044         * tests/uninorm/test-u16-normcmp.c: Likewise.
6045         * tests/uninorm/test-u16-normcoll.c: Likewise.
6046         * tests/uninorm/test-u32-nfc.c: Likewise.
6047         * tests/uninorm/test-u32-nfd.c: Likewise.
6048         * tests/uninorm/test-u32-nfkc.c: Likewise.
6049         * tests/uninorm/test-u32-nfkd.c: Likewise.
6050         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6051         * tests/uninorm/test-u32-normcmp.c: Likewise.
6052         * tests/uninorm/test-u32-normcoll.c: Likewise.
6053         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6054         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6055         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6056         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6057         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6058         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6059         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6060         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6061         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6062         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6063         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6064         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6065         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6066         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6067         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6068         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6069         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6070         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6071         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6072         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6073         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6074         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6075         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6076         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6077         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6078         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6079         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6080         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6081         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6082         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6083         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6084         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6085         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6086         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6087         * tests/uniwidth/test-u8-width.c: Likewise.
6088         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6089         * tests/uniwidth/test-u16-width.c: Likewise.
6090         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6091         * tests/uniwidth/test-u32-width.c: Likewise.
6092         * tests/uniwidth/test-uc_width.c: Likewise.
6093         * tests/uniwidth/test-uc_width2.c: Likewise.
6094         * modules/acl-tests (Files): Add tests/macros.h.
6095         * modules/areadlink-tests (Files): Likewise.
6096         * modules/areadlink-with-size-tests (Files): Likewise.
6097         * modules/areadlinkat-tests (Files): Likewise.
6098         * modules/areadlinkat-with-size-tests (Files): Likewise.
6099         * modules/argmatch-tests (Files): Likewise.
6100         * modules/argv-iter-tests (Files): Likewise.
6101         * modules/array-list-tests (Files): Likewise.
6102         * modules/array-mergesort-tests (Files): Likewise.
6103         * modules/array-oset-tests (Files): Likewise.
6104         * modules/avltree-list-tests (Files): Likewise.
6105         * modules/avltree-oset-tests (Files): Likewise.
6106         * modules/avltreehash-list-tests (Files): Likewise.
6107         * modules/base64-tests (Files): Likewise.
6108         * modules/binary-io-tests (Files): Likewise.
6109         * modules/bitrotate-tests (Files): Likewise.
6110         * modules/btowc-tests (Files): Likewise.
6111         * modules/byteswap-tests (Files): Likewise.
6112         * modules/c-ctype-tests (Files): Likewise.
6113         * modules/c-stack-tests (Files): Likewise.
6114         * modules/c-strcase-tests (Files): Likewise.
6115         * modules/c-strcasestr-tests (Files): Likewise.
6116         * modules/c-strstr-tests (Files): Likewise.
6117         * modules/canonicalize-lgpl-tests (Files): Likewise.
6118         * modules/canonicalize-tests (Files): Likewise.
6119         * modules/carray-list-tests (Files): Likewise.
6120         * modules/ceilf-tests (Files): Likewise.
6121         * modules/ceill-tests (Files): Likewise.
6122         * modules/chown-tests (Files): Likewise.
6123         * modules/cloexec-tests (Files): Likewise.
6124         * modules/copy-file-tests (Files): Likewise.
6125         * modules/count-one-bits-tests (Files): Likewise.
6126         * modules/dprintf-posix-tests (Files): Likewise.
6127         * modules/dup2-tests (Files): Likewise.
6128         * modules/dup3-tests (Files): Likewise.
6129         * modules/duplocale-tests (Files): Likewise.
6130         * modules/fbufmode-tests (Files): Likewise.
6131         * modules/fchdir-tests (Files): Likewise.
6132         * modules/fcntl-safer-tests (Files): Likewise.
6133         * modules/fcntl-tests (Files): Likewise.
6134         * modules/fdopendir-tests (Files): Likewise.
6135         * modules/fdutimensat-tests (Files): Likewise.
6136         * modules/fflush-tests (Files): Likewise.
6137         * modules/filevercmp-tests (Files): Likewise.
6138         * modules/flock-tests (Files): Likewise.
6139         * modules/floorf-tests (Files): Likewise.
6140         * modules/floorl-tests (Files): Likewise.
6141         * modules/fnmatch-tests (Files): Likewise.
6142         * modules/fopen-safer-tests (Files): Likewise.
6143         * modules/fopen-tests (Files): Likewise.
6144         * modules/fpending-tests (Files): Likewise.
6145         * modules/fprintf-posix-tests (Files): Likewise.
6146         * modules/fpurge-tests (Files): Likewise.
6147         * modules/freadable-tests (Files): Likewise.
6148         * modules/freadahead-tests (Files): Likewise.
6149         * modules/freading-tests (Files): Likewise.
6150         * modules/freadptr-tests (Files): Likewise.
6151         * modules/freadseek-tests (Files): Likewise.
6152         * modules/freopen-tests (Files): Likewise.
6153         * modules/frexp-nolibm-tests (Files): Likewise.
6154         * modules/frexp-tests (Files): Likewise.
6155         * modules/frexpl-nolibm-tests (Files): Likewise.
6156         * modules/frexpl-tests (Files): Likewise.
6157         * modules/fseek-tests (Files): Likewise.
6158         * modules/fseeko-tests (Files): Likewise.
6159         * modules/fstrcmp-tests (Files): Likewise.
6160         * modules/fsync-tests (Files): Likewise.
6161         * modules/ftell-tests (Files): Likewise.
6162         * modules/ftello-tests (Files): Likewise.
6163         * modules/func-tests (Files): Likewise.
6164         * modules/futimens-tests (Files): Likewise.
6165         * modules/fwritable-tests (Files): Likewise.
6166         * modules/fwriting-tests (Files): Likewise.
6167         * modules/getcwd-tests (Files): Likewise.
6168         * modules/getdate-tests (Files): Likewise.
6169         * modules/getdelim-tests (Files): Likewise.
6170         * modules/getdtablesize-tests (Files): Likewise.
6171         * modules/getgroups-tests (Files): Likewise.
6172         * modules/getline-tests (Files): Likewise.
6173         * modules/getndelim2-tests (Files): Likewise.
6174         * modules/glob-tests (Files): Likewise.
6175         * modules/hash-tests (Files): Likewise.
6176         * modules/i-ring-tests (Files): Likewise.
6177         * modules/iconv-tests (Files): Likewise.
6178         * modules/iconv_open-utf-tests (Files): Likewise.
6179         * modules/idpriv-drop-tests (Files): Likewise.
6180         * modules/idpriv-droptemp-tests (Files): Likewise.
6181         * modules/inet_ntop-tests (Files): Likewise.
6182         * modules/inet_pton-tests (Files): Likewise.
6183         * modules/isblank-tests (Files): Likewise.
6184         * modules/isfinite-tests (Files): Likewise.
6185         * modules/isinf-tests (Files): Likewise.
6186         * modules/isnan-tests (Files): Likewise.
6187         * modules/isnand-nolibm-tests (Files): Likewise.
6188         * modules/isnand-tests (Files): Likewise.
6189         * modules/isnanf-nolibm-tests (Files): Likewise.
6190         * modules/isnanf-tests (Files): Likewise.
6191         * modules/isnanl-nolibm-tests (Files): Likewise.
6192         * modules/isnanl-tests (Files): Likewise.
6193         * modules/lchown-tests (Files): Likewise.
6194         * modules/ldexpl-tests (Files): Likewise.
6195         * modules/link-tests (Files): Likewise.
6196         * modules/linkat-tests (Files): Likewise.
6197         * modules/linked-list-tests (Files): Likewise.
6198         * modules/linkedhash-list-tests (Files): Likewise.
6199         * modules/localename-tests (Files): Likewise.
6200         * modules/lseek-tests (Files): Likewise.
6201         * modules/lstat-tests (Files): Likewise.
6202         * modules/mbmemcasecmp-tests (Files): Likewise.
6203         * modules/mbmemcasecoll-tests (Files): Likewise.
6204         * modules/mbrtowc-tests (Files): Likewise.
6205         * modules/mbscasecmp-tests (Files): Likewise.
6206         * modules/mbscasestr-tests (Files): Likewise.
6207         * modules/mbschr-tests (Files): Likewise.
6208         * modules/mbscspn-tests (Files): Likewise.
6209         * modules/mbsinit-tests (Files): Likewise.
6210         * modules/mbsncasecmp-tests (Files): Likewise.
6211         * modules/mbsnrtowcs-tests (Files): Likewise.
6212         * modules/mbspbrk-tests (Files): Likewise.
6213         * modules/mbspcasecmp-tests (Files): Likewise.
6214         * modules/mbsrchr-tests (Files): Likewise.
6215         * modules/mbsrtowcs-tests (Files): Likewise.
6216         * modules/mbsspn-tests (Files): Likewise.
6217         * modules/mbsstr-tests (Files): Likewise.
6218         * modules/memchr-tests (Files): Likewise.
6219         * modules/memchr2-tests (Files): Likewise.
6220         * modules/memcmp-tests (Files): Likewise.
6221         * modules/memmem-tests (Files): Likewise.
6222         * modules/memrchr-tests (Files): Likewise.
6223         * modules/mkdir-tests (Files): Likewise.
6224         * modules/mkfifo-tests (Files): Likewise.
6225         * modules/mkfifoat-tests (Files): Likewise.
6226         * modules/mknod-tests (Files): Likewise.
6227         * modules/nanosleep-tests (Files): Likewise.
6228         * modules/nl_langinfo-tests (Files): Likewise.
6229         * modules/obstack-printf-tests (Files): Likewise.
6230         * modules/open-tests (Files): Likewise.
6231         * modules/openat-tests (Files): Likewise.
6232         * modules/pipe-filter-gi-tests (Files): Likewise.
6233         * modules/pipe-filter-ii-tests (Files): Likewise.
6234         * modules/pipe2-tests (Files): Likewise.
6235         * modules/popen-safer-tests (Files): Likewise.
6236         * modules/popen-tests (Files): Likewise.
6237         * modules/posixtm-tests (Files): Likewise.
6238         * modules/pread-tests (Files): Likewise.
6239         * modules/printf-frexp-tests (Files): Likewise.
6240         * modules/printf-frexpl-tests (Files): Likewise.
6241         * modules/printf-posix-tests (Files): Likewise.
6242         * modules/priv-set-tests (Files): Likewise.
6243         * modules/quotearg-tests (Files): Likewise.
6244         * modules/random_r-tests (Files): Likewise.
6245         * modules/rawmemchr-tests (Files): Likewise.
6246         * modules/rbtree-list-tests (Files): Likewise.
6247         * modules/rbtree-oset-tests (Files): Likewise.
6248         * modules/rbtreehash-list-tests (Files): Likewise.
6249         * modules/readlink-tests (Files): Likewise.
6250         * modules/remove-tests (Files): Likewise.
6251         * modules/rename-tests (Files): Likewise.
6252         * modules/renameat-tests (Files): Likewise.
6253         * modules/rmdir-tests (Files): Likewise.
6254         * modules/round-tests (Files): Likewise.
6255         * modules/roundf-tests (Files): Likewise.
6256         * modules/roundl-tests (Files): Likewise.
6257         * modules/safe-alloc-tests (Files): Likewise.
6258         * modules/setenv-tests (Files): Likewise.
6259         * modules/sigaction-tests (Files): Likewise.
6260         * modules/signbit-tests (Files): Likewise.
6261         * modules/sleep-tests (Files): Likewise.
6262         * modules/snprintf-posix-tests (Files): Likewise.
6263         * modules/snprintf-tests (Files): Likewise.
6264         * modules/sprintf-posix-tests (Files): Likewise.
6265         * modules/stat-tests (Files): Likewise.
6266         * modules/stat-time-tests (Files): Likewise.
6267         * modules/strcasestr-tests (Files): Likewise.
6268         * modules/strchrnul-tests (Files): Likewise.
6269         * modules/strerror-tests (Files): Likewise.
6270         * modules/striconv-tests (Files): Likewise.
6271         * modules/striconveh-tests (Files): Likewise.
6272         * modules/striconveha-tests (Files): Likewise.
6273         * modules/strsignal-tests (Files): Likewise.
6274         * modules/strstr-tests (Files): Likewise.
6275         * modules/strtod-tests (Files): Likewise.
6276         * modules/strverscmp-tests (Files): Likewise.
6277         * modules/symlink-tests (Files): Likewise.
6278         * modules/symlinkat-tests (Files): Likewise.
6279         * modules/trunc-tests (Files): Likewise.
6280         * modules/truncf-tests (Files): Likewise.
6281         * modules/truncl-tests (Files): Likewise.
6282         * modules/uname-tests (Files): Likewise.
6283         * modules/unicase/cased-tests (Files): Likewise.
6284         * modules/unicase/ignorable-tests (Files): Likewise.
6285         * modules/unicase/locale-language-tests (Files): Likewise.
6286         * modules/unicase/tolower-tests (Files): Likewise.
6287         * modules/unicase/totitle-tests (Files): Likewise.
6288         * modules/unicase/toupper-tests (Files): Likewise.
6289         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6290         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6291         * modules/unicase/u8-casefold-tests (Files): Likewise.
6292         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6293         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6294         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6295         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6296         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6297         * modules/unicase/u8-tolower-tests (Files): Likewise.
6298         * modules/unicase/u8-totitle-tests (Files): Likewise.
6299         * modules/unicase/u8-toupper-tests (Files): Likewise.
6300         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6301         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6302         * modules/unicase/u16-casefold-tests (Files): Likewise.
6303         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6304         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6305         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6306         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6307         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6308         * modules/unicase/u16-tolower-tests (Files): Likewise.
6309         * modules/unicase/u16-totitle-tests (Files): Likewise.
6310         * modules/unicase/u16-toupper-tests (Files): Likewise.
6311         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6312         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6313         * modules/unicase/u32-casefold-tests (Files): Likewise.
6314         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6315         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6316         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6317         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6318         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6319         * modules/unicase/u32-tolower-tests (Files): Likewise.
6320         * modules/unicase/u32-totitle-tests (Files): Likewise.
6321         * modules/unicase/u32-toupper-tests (Files): Likewise.
6322         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6323         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6324         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6325         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6326         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6327         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6328         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6329         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6330         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6331         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6332         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6333         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6334         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6335         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6336         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6337         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6338         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6339         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6340         * modules/unictype/block-list-tests (Files): Likewise.
6341         * modules/unictype/block-of-tests (Files): Likewise.
6342         * modules/unictype/block-test-tests (Files): Likewise.
6343         * modules/unictype/category-C-tests (Files): Likewise.
6344         * modules/unictype/category-Cc-tests (Files): Likewise.
6345         * modules/unictype/category-Cf-tests (Files): Likewise.
6346         * modules/unictype/category-Cn-tests (Files): Likewise.
6347         * modules/unictype/category-Co-tests (Files): Likewise.
6348         * modules/unictype/category-Cs-tests (Files): Likewise.
6349         * modules/unictype/category-L-tests (Files): Likewise.
6350         * modules/unictype/category-Ll-tests (Files): Likewise.
6351         * modules/unictype/category-Lm-tests (Files): Likewise.
6352         * modules/unictype/category-Lo-tests (Files): Likewise.
6353         * modules/unictype/category-Lt-tests (Files): Likewise.
6354         * modules/unictype/category-Lu-tests (Files): Likewise.
6355         * modules/unictype/category-M-tests (Files): Likewise.
6356         * modules/unictype/category-Mc-tests (Files): Likewise.
6357         * modules/unictype/category-Me-tests (Files): Likewise.
6358         * modules/unictype/category-Mn-tests (Files): Likewise.
6359         * modules/unictype/category-N-tests (Files): Likewise.
6360         * modules/unictype/category-Nd-tests (Files): Likewise.
6361         * modules/unictype/category-Nl-tests (Files): Likewise.
6362         * modules/unictype/category-No-tests (Files): Likewise.
6363         * modules/unictype/category-P-tests (Files): Likewise.
6364         * modules/unictype/category-Pc-tests (Files): Likewise.
6365         * modules/unictype/category-Pd-tests (Files): Likewise.
6366         * modules/unictype/category-Pe-tests (Files): Likewise.
6367         * modules/unictype/category-Pf-tests (Files): Likewise.
6368         * modules/unictype/category-Pi-tests (Files): Likewise.
6369         * modules/unictype/category-Po-tests (Files): Likewise.
6370         * modules/unictype/category-Ps-tests (Files): Likewise.
6371         * modules/unictype/category-S-tests (Files): Likewise.
6372         * modules/unictype/category-Sc-tests (Files): Likewise.
6373         * modules/unictype/category-Sk-tests (Files): Likewise.
6374         * modules/unictype/category-Sm-tests (Files): Likewise.
6375         * modules/unictype/category-So-tests (Files): Likewise.
6376         * modules/unictype/category-Z-tests (Files): Likewise.
6377         * modules/unictype/category-Zl-tests (Files): Likewise.
6378         * modules/unictype/category-Zp-tests (Files): Likewise.
6379         * modules/unictype/category-Zs-tests (Files): Likewise.
6380         * modules/unictype/category-and-not-tests (Files): Likewise.
6381         * modules/unictype/category-and-tests (Files): Likewise.
6382         * modules/unictype/category-byname-tests (Files): Likewise.
6383         * modules/unictype/category-name-tests (Files): Likewise.
6384         * modules/unictype/category-none-tests (Files): Likewise.
6385         * modules/unictype/category-of-tests (Files): Likewise.
6386         * modules/unictype/category-or-tests (Files): Likewise.
6387         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6388         * modules/unictype/combining-class-tests (Files): Likewise.
6389         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6390         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6391         * modules/unictype/ctype-blank-tests (Files): Likewise.
6392         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6393         * modules/unictype/ctype-digit-tests (Files): Likewise.
6394         * modules/unictype/ctype-graph-tests (Files): Likewise.
6395         * modules/unictype/ctype-lower-tests (Files): Likewise.
6396         * modules/unictype/ctype-print-tests (Files): Likewise.
6397         * modules/unictype/ctype-punct-tests (Files): Likewise.
6398         * modules/unictype/ctype-space-tests (Files): Likewise.
6399         * modules/unictype/ctype-upper-tests (Files): Likewise.
6400         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6401         * modules/unictype/decimal-digit-tests (Files): Likewise.
6402         * modules/unictype/digit-tests (Files): Likewise.
6403         * modules/unictype/mirror-tests (Files): Likewise.
6404         * modules/unictype/numeric-tests (Files): Likewise.
6405         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6406         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6407         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6408         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6409         Likewise.
6410         * modules/unictype/property-bidi-block-separator-tests (Files):
6411         Likewise.
6412         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6413         Likewise.
6414         * modules/unictype/property-bidi-common-separator-tests (Files):
6415         Likewise.
6416         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6417         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6418         Likewise.
6419         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6420         Likewise.
6421         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6422         Likewise.
6423         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6424         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6425         Likewise.
6426         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6427         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6428         Likewise.
6429         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6430         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6431         * modules/unictype/property-bidi-segment-separator-tests (Files):
6432         Likewise.
6433         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6434         * modules/unictype/property-byname-tests (Files): Likewise.
6435         * modules/unictype/property-combining-tests (Files): Likewise.
6436         * modules/unictype/property-composite-tests (Files): Likewise.
6437         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6438         * modules/unictype/property-dash-tests (Files): Likewise.
6439         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6440         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6441         Likewise.
6442         * modules/unictype/property-deprecated-tests (Files): Likewise.
6443         * modules/unictype/property-diacritic-tests (Files): Likewise.
6444         * modules/unictype/property-extender-tests (Files): Likewise.
6445         * modules/unictype/property-format-control-tests (Files): Likewise.
6446         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6447         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6448         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6449         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6450         * modules/unictype/property-hyphen-tests (Files): Likewise.
6451         * modules/unictype/property-id-continue-tests (Files): Likewise.
6452         * modules/unictype/property-id-start-tests (Files): Likewise.
6453         * modules/unictype/property-ideographic-tests (Files): Likewise.
6454         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6455         * modules/unictype/property-ids-trinary-operator-tests (Files):
6456         Likewise.
6457         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6458         * modules/unictype/property-iso-control-tests (Files): Likewise.
6459         * modules/unictype/property-join-control-tests (Files): Likewise.
6460         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6461         * modules/unictype/property-line-separator-tests (Files): Likewise.
6462         * modules/unictype/property-logical-order-exception-tests (Files):
6463         Likewise.
6464         * modules/unictype/property-lowercase-tests (Files): Likewise.
6465         * modules/unictype/property-math-tests (Files): Likewise.
6466         * modules/unictype/property-non-break-tests (Files): Likewise.
6467         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6468         * modules/unictype/property-numeric-tests (Files): Likewise.
6469         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6470         * modules/unictype/property-other-default-ignorable-code-point-tests
6471         (Files): Likewise.
6472         * modules/unictype/property-other-grapheme-extend-tests (Files):
6473         Likewise.
6474         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6475         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6476         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6477         * modules/unictype/property-other-math-tests (Files): Likewise.
6478         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6479         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6480         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6481         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6482         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6483         * modules/unictype/property-private-use-tests (Files): Likewise.
6484         * modules/unictype/property-punctuation-tests (Files): Likewise.
6485         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6486         * modules/unictype/property-radical-tests (Files): Likewise.
6487         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6488         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6489         * modules/unictype/property-space-tests (Files): Likewise.
6490         * modules/unictype/property-terminal-punctuation-tests (Files):
6491         Likewise.
6492         * modules/unictype/property-test-tests (Files): Likewise.
6493         * modules/unictype/property-titlecase-tests (Files): Likewise.
6494         * modules/unictype/property-unassigned-code-value-tests (Files):
6495         Likewise.
6496         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6497         * modules/unictype/property-uppercase-tests (Files): Likewise.
6498         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6499         * modules/unictype/property-white-space-tests (Files): Likewise.
6500         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6501         * modules/unictype/property-xid-start-tests (Files): Likewise.
6502         * modules/unictype/property-zero-width-tests (Files): Likewise.
6503         * modules/unictype/scripts-tests (Files): Likewise.
6504         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6505         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6506         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6507         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6508         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6509         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6510         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6511         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6512         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6513         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6514         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6515         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6516         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6517         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6518         * modules/uninorm/composition-tests (Files): Likewise.
6519         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6520         * modules/uninorm/decomposition-tests (Files): Likewise.
6521         * modules/uninorm/filter-tests (Files): Likewise.
6522         * modules/uninorm/nfc-tests (Files): Likewise.
6523         * modules/uninorm/nfd-tests (Files): Likewise.
6524         * modules/uninorm/nfkc-tests (Files): Likewise.
6525         * modules/uninorm/nfkd-tests (Files): Likewise.
6526         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6527         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6528         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6529         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6530         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6531         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6532         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6533         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6534         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6535         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6536         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6537         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6538         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6539         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6540         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6541         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6542         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6543         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6544         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6545         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6546         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6547         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6548         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6549         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6550         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6551         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6552         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6553         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6554         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6555         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6556         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6557         * modules/uniwidth/u8-width-tests (Files): Likewise.
6558         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6559         * modules/uniwidth/u16-width-tests (Files): Likewise.
6560         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6561         * modules/uniwidth/u32-width-tests (Files): Likewise.
6562         * modules/uniwidth/width-tests (Files): Likewise.
6563         * modules/unlink-tests (Files): Likewise.
6564         * modules/unsetenv-tests (Files): Likewise.
6565         * modules/usleep-tests (Files): Likewise.
6566         * modules/utimens-tests (Files): Likewise.
6567         * modules/utimensat-tests (Files): Likewise.
6568         * modules/vasnprintf-posix-tests (Files): Likewise.
6569         * modules/vasnprintf-tests (Files): Likewise.
6570         * modules/vasprintf-posix-tests (Files): Likewise.
6571         * modules/vasprintf-tests (Files): Likewise.
6572         * modules/vdprintf-posix-tests (Files): Likewise.
6573         * modules/vfprintf-posix-tests (Files): Likewise.
6574         * modules/vprintf-posix-tests (Files): Likewise.
6575         * modules/vsnprintf-posix-tests (Files): Likewise.
6576         * modules/vsnprintf-tests (Files): Likewise.
6577         * modules/vsprintf-posix-tests (Files): Likewise.
6578         * modules/wcrtomb-tests (Files): Likewise.
6579         * modules/wcsnrtombs-tests (Files): Likewise.
6580         * modules/wcsrtombs-tests (Files): Likewise.
6581         * modules/wctype-tests (Files): Likewise.
6582         * modules/wcwidth-tests (Files): Likewise.
6583         * modules/xmemdup0-tests (Files): Likewise.
6584         * modules/xprintf-posix-tests (Files): Likewise.
6585         * modules/xvasprintf-tests (Files): Likewise.
6586
6587 2009-12-24  Eric Blake  <ebb9@byu.net>
6588
6589         test-nanosleep: fix typo
6590         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6591         patch.
6592         Reported by Bruno Haible.
6593
6594 2009-12-24  Bruno Haible  <bruno@clisp.org>
6595
6596         Reduce namespace pollution on glibc systems.
6597         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6598         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6599         systems.
6600         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6601         <getopt.h> on glibc systems.
6602         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6603         systems.
6604         * lib/fcntl.c: Include <unistd.h> here instead.
6605
6606 2009-12-24  Bruno Haible  <bruno@clisp.org>
6607
6608         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6609
6610 2009-12-24  Eric Blake  <ebb9@byu.net>
6611
6612         tests: add signature checks
6613         * tests/signature.h (SIGNATURE_CHECK): New file.
6614         * modules/atexit-tests (Files): Use it.
6615         * modules/btowc-tests (Files): Likewise.
6616         * modules/canonicalize-lgpl-tests (Files): Likewise.
6617         * modules/ceilf-tests (Files): Likewise.
6618         * modules/ceill-tests (Files): Likewise.
6619         * modules/chown-tests (Files): Likewise.
6620         * modules/dprintf-posix-tests (Files): Likewise.
6621         * modules/dup2-tests (Files): Likewise.
6622         * modules/dup3-tests (Files): Likewise.
6623         * modules/duplocale-tests (Files): Likewise.
6624         * modules/fchdir-tests (Files): Likewise.
6625         * modules/fcntl-tests (Files): Likewise.
6626         * modules/fdopendir-tests (Files): Likewise.
6627         * modules/fflush-tests (Files): Likewise.
6628         * modules/flock-tests (Files): Likewise.
6629         * modules/floorf-tests (Files): Likewise.
6630         * modules/floorl-tests (Files): Likewise.
6631         * modules/fnmatch-tests (Files): Likewise.
6632         * modules/fopen-tests (Files): Likewise.
6633         * modules/fprintf-posix-tests (Files): Likewise.
6634         * modules/freopen-tests (Files): Likewise.
6635         * modules/frexp-nolibm-tests (Files): Likewise.
6636         * modules/frexp-tests (Files): Likewise.
6637         * modules/frexpl-nolibm-tests (Files): Likewise.
6638         * modules/frexpl-tests (Files): Likewise.
6639         * modules/fseek-tests (Files): Likewise.
6640         * modules/fseeko-tests (Files): Likewise.
6641         * modules/fsync-tests (Files): Likewise.
6642         * modules/ftell-tests (Files): Likewise.
6643         * modules/ftello-tests (Files): Likewise.
6644         * modules/futimens-tests (Files): Likewise.
6645         * modules/getaddrinfo-tests (Files): Likewise.
6646         * modules/getcwd-tests (Files): Likewise.
6647         * modules/getdelim-tests (Files): Likewise.
6648         * modules/getdtablesize-tests (Files): Likewise.
6649         * modules/getgroups-tests (Files): Likewise.
6650         * modules/gethostname-tests (Files): Likewise.
6651         * modules/getline-tests (Files): Likewise.
6652         * modules/getopt-posix-tests (Files): Likewise.
6653         * modules/gettimeofday-tests (Files): Likewise.
6654         * modules/glob-tests (Files): Likewise.
6655         * modules/iconv-tests (Files): Likewise.
6656         * modules/inet_ntop-tests (Files): Likewise.
6657         * modules/inet_pton-tests (Files): Likewise.
6658         * modules/isblank-tests (Files): Likewise.
6659         * modules/lchown-tests (Files): Likewise.
6660         * modules/ldexpl-tests (Files): Likewise.
6661         * modules/link-tests (Files): Likewise.
6662         * modules/linkat-tests (Files): Likewise.
6663         * modules/lseek-tests (Files): Likewise.
6664         * modules/lstat-tests (Files): Likewise.
6665         * modules/mbrtowc-tests (Files): Likewise.
6666         * modules/mbsinit-tests (Files): Likewise.
6667         * modules/mbsnrtowcs-tests (Files): Likewise.
6668         * modules/mbsrtowcs-tests (Files): Likewise.
6669         * modules/memchr-tests (Files): Likewise.
6670         * modules/memcmp-tests (Files): Likewise.
6671         * modules/memmem-tests (Files): Likewise.
6672         * modules/memrchr-tests (Files): Likewise.
6673         * modules/mkdir-tests (Files): Likewise.
6674         * modules/mkfifo-tests (Files): Likewise.
6675         * modules/mkfifoat-tests (Files): Likewise.
6676         * modules/mknod-tests (Files): Likewise.
6677         * modules/nanosleep-tests (Files): Likewise.
6678         * modules/nl_langinfo-tests (Files): Likewise.
6679         * modules/obstack-printf-tests (Files): Likewise.
6680         * modules/open-tests (Files): Likewise.
6681         * modules/openat-tests (Files): Likewise.
6682         * modules/perror-tests (Files): Likewise.
6683         * modules/pipe2-tests (Files): Likewise.
6684         * modules/poll-tests (Files): Likewise.
6685         * modules/popen-tests (Files): Likewise.
6686         * modules/posix_spawn-tests (Files): Likewise.
6687         * modules/posix_spawnp-tests (Files): Likewise.
6688         * modules/pread-tests (Files): Likewise.
6689         * modules/printf-posix-tests (Files): Likewise.
6690         * modules/pty-tests (Files): Likewise.
6691         * modules/random_r-tests (Files): Likewise.
6692         * modules/rawmemchr-tests (Files): Likewise.
6693         * modules/readlink-tests (Files): Likewise.
6694         * modules/remove-tests (Files): Likewise.
6695         * modules/rename-tests (Files): Likewise.
6696         * modules/renameat-tests (Files): Likewise.
6697         * modules/rmdir-tests (Files): Likewise.
6698         * modules/round-tests (Files): Likewise.
6699         * modules/roundf-tests (Files): Likewise.
6700         * modules/roundl-tests (Files): Likewise.
6701         * modules/select-tests (Files): Likewise.
6702         * modules/setenv-tests (Files): Likewise.
6703         * modules/sigaction-tests (Files): Likewise.
6704         * modules/sleep-tests (Files): Likewise.
6705         * modules/snprintf-posix-tests (Files): Likewise.
6706         * modules/snprintf-tests (Files): Likewise.
6707         * modules/sprintf-posix-tests (Files): Likewise.
6708         * modules/stat-tests (Files): Likewise.
6709         * modules/strcasestr-tests (Files): Likewise.
6710         * modules/strchrnul-tests (Files): Likewise.
6711         * modules/strerror-tests (Files): Likewise.
6712         * modules/strsignal-tests (Files): Likewise.
6713         * modules/strstr-tests (Files): Likewise.
6714         * modules/strtod-tests (Files): Likewise.
6715         * modules/strverscmp-tests (Files): Likewise.
6716         * modules/symlink-tests (Files): Likewise.
6717         * modules/symlinkat-tests (Files): Likewise.
6718         * modules/times-tests (Files): Likewise.
6719         * modules/trunc-tests (Files): Likewise.
6720         * modules/truncf-tests (Files): Likewise.
6721         * modules/truncl-tests (Files): Likewise.
6722         * modules/tsearch-tests (Files): Likewise.
6723         * modules/uname-tests (Files): Likewise.
6724         * modules/unlink-tests (Files): Likewise.
6725         * modules/unsetenv-tests (Files): Likewise.
6726         * modules/usleep-tests (Files): Likewise.
6727         * modules/utimensat-tests (Files): Likewise.
6728         * modules/vasprintf-tests (Files): Likewise.
6729         * modules/vdprintf-posix-tests (Files): Likewise.
6730         * modules/vfprintf-posix-tests (Files): Likewise.
6731         * modules/vprintf-posix-tests (Files): Likewise.
6732         * modules/vsnprintf-posix-tests (Files): Likewise.
6733         * modules/vsnprintf-tests (Files): Likewise.
6734         * modules/vsprintf-posix-tests (Files): Likewise.
6735         * modules/wcrtomb-tests (Files): Likewise.
6736         * modules/wcsnrtombs-tests (Files): Likewise.
6737         * modules/wcsrtombs-tests (Files): Likewise.
6738         * modules/wcwidth-tests (Files): Likewise.
6739         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
6740         * tests/test-isinf.c (isinf): Likewise.
6741         * tests/test-isnan.c (isnan): Likewise.
6742         * tests/test-signbit.c (signbit): Likewise.
6743         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
6744         declaration, either as macro or with correct signature.
6745         (select): Ensure function under test is declared with correct
6746         signature in correct header.
6747         * tests/test-atexit.c (atexit): Likewise.
6748         * tests/test-btowc.c (btowc): Likewise.
6749         * tests/test-canonicalize-lgpl.c (realpath)
6750         (canonicalize_file_name): Likewise.
6751         * tests/test-ceilf1.c (ceilf): Likewise.
6752         * tests/test-ceill.c (ceill): Likewise.
6753         * tests/test-chown.c (chown): Likewise.
6754         * tests/test-dprintf-posix.c (dprintf): Likewise.
6755         * tests/test-dup2.c (dup2): Likewise.
6756         * tests/test-dup3.c (dup3): Likewise.
6757         * tests/test-duplocale.c (duplocale): Likewise.
6758         * tests/test-fchdir.c (fchdir): Likewise.
6759         * tests/test-fchownat.c (fchownat): Likewise.
6760         * tests/test-fcntl.c (fcntl): Likewise.
6761         * tests/test-fdopendir.c (fdopendir): Likewise.
6762         * tests/test-fflush.c (fflush): Likewise.
6763         * tests/test-flock.c (flock): Likewise.
6764         * tests/test-floorf1.c (floorf): Likewise.
6765         * tests/test-floorl.c (floorl): Likewise.
6766         * tests/test-fnmatch.c (fnmatch): Likewise.
6767         * tests/test-fopen.c (fopen): Likewise.
6768         * tests/test-fprintf-posix.c (fprintf): Likewise.
6769         * tests/test-freopen.c (freopen): Likewise.
6770         * tests/test-frexp.c (frexp): Likewise.
6771         * tests/test-frexpl.c (frexpl): Likewise.
6772         * tests/test-fseek.c (fseek): Likewise.
6773         * tests/test-fseeko.c (fseeko): Likewise.
6774         * tests/test-fstatat.c (fstatat): Likewise.
6775         * tests/test-fsync.c (fsync): Likewise.
6776         * tests/test-ftell.c (ftell): Likewise.
6777         * tests/test-ftello.c (ftello): Likewise.
6778         * tests/test-futimens.c (futimens): Likewise.
6779         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
6780         (gai_strerror): Likewise.
6781         * tests/test-getcwd.c (getcwd): Likewise.
6782         * tests/test-getdelim.c (getdelim): Likewise.
6783         * tests/test-getdtablesize.c (getdtablesize): Likewise.
6784         * tests/test-getgroups.c (getgroups): Likewise.
6785         * tests/test-gethostname.c (gethostname): Likewise.
6786         * tests/test-getline.c (getline): Likewise.
6787         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
6788         Likewise.
6789         * tests/test-gettimeofday.c (gettimeofday): Likewise.
6790         * tests/test-glob.c (glob, globfree): Likewise.
6791         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
6792         * tests/test-inet_ntop.c (inet_ntop): Likewise.
6793         * tests/test-inet_pton.c (inet_pton): Likewise.
6794         * tests/test-isblank.c (isblank): Likewise.
6795         * tests/test-lchown.c (lchown): Likewise.
6796         * tests/test-ldexpl.c (ldexpl): Likewise.
6797         * tests/test-link.c (link): Likewise.
6798         * tests/test-linkat.c (linkat): Likewise.
6799         * tests/test-lseek.c (lseek): Likewise.
6800         * tests/test-lstat.c (lstat): Likewise.
6801         * tests/test-mbrtowc.c (mbrtowc): Likewise.
6802         * tests/test-mbsinit.c (mbsinit): Likewise.
6803         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
6804         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
6805         * tests/test-memchr.c (memchr): Likewise.
6806         * tests/test-memcmp.c (memcmp): Likewise.
6807         * tests/test-memmem.c (memmem): Likewise.
6808         * tests/test-memrchr.c (memrchr): Likewise.
6809         * tests/test-mkdir.c (mkdir): Likewise.
6810         * tests/test-mkdirat.c (mkdirat): Likewise.
6811         * tests/test-mkfifo.c (mkfifo): Likewise.
6812         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
6813         * tests/test-mknod.c (mknod): Likewise.
6814         * tests/test-nanosleep.c (nanosleep): Likewise.
6815         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
6816         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
6817         Likewise.
6818         * tests/test-open.c (open): Likewise.
6819         * tests/test-openat.c (openat): Likewise.
6820         * tests/test-perror.c (perror): Likewise.
6821         * tests/test-pipe2.c (pipe2): Likewise.
6822         * tests/test-poll.c (poll): Likewise.
6823         * tests/test-popen.c (popen, pclose): Likewise.
6824         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
6825         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
6826         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
6827         (posix_spawn_file_actions_destroy)
6828         (posix_spawn_file_actions_addclose)
6829         (posix_spawn_file_actions_addopen)
6830         (posix_spawn_file_actions_adddup2): Likewise.
6831         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
6832         * tests/test-pread.c (pread): Likewise.
6833         * tests/test-printf-posix.c (printf): Likewise.
6834         * tests/test-pty.c (openpty, forkpty): Likewise.
6835         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
6836         (random_r): Likewise.
6837         * tests/test-rawmemchr.c (rawmemchr): Likewise.
6838         * tests/test-readlink.c (readlink): Likewise.
6839         * tests/test-remove.c (remove): Likewise.
6840         * tests/test-rename.c (rename): Likewise.
6841         * tests/test-renameat.c (renameat): Likewise.
6842         * tests/test-rmdir.c (rmdir): Likewise.
6843         * tests/test-round1.c (round): Likewise.
6844         * tests/test-roundf1.c (roundf): Likewise.
6845         * tests/test-roundl.c (roundl): Likewise.
6846         * tests/test-setenv.c (setenv): Likewise.
6847         * tests/test-sigaction.c (sigaction): Likewise.
6848         * tests/test-sleep.c (sleep): Likewise.
6849         * tests/test-snprintf.c (snprintf): Likewise.
6850         * tests/test-sprintf-posix.c (sprintf): Likewise.
6851         * tests/test-stat.c (stat): Likewise.
6852         * tests/test-stpncpy.c (stpncpy): Likewise.
6853         * tests/test-strcasestr.c (strcasestr): Likewise.
6854         * tests/test-strchrnul.c (strchrnul): Likewise.
6855         * tests/test-strerror.c (strerror): Likewise.
6856         * tests/test-strsignal.c (strsignal): Likewise.
6857         * tests/test-strstr.c (strstr): Likewise.
6858         * tests/test-strtod.c (strtod): Likewise.
6859         * tests/test-strverscmp.c (strverscmp): Likewise.
6860         * tests/test-symlink.c (symlink): Likewise.
6861         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
6862         * tests/test-times.c (times): Likewise.
6863         * tests/test-trunc1.c (trunc): Likewise.
6864         * tests/test-truncf1.c (truncf): Likewise.
6865         * tests/test-truncl.c (truncl): Likewise.
6866         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
6867         Likewise.
6868         * tests/test-uname.c (uname): Likewise.
6869         * tests/test-unlink.c (unlink): Likewise.
6870         * tests/test-unlinkat.c (unlinkat): Likewise.
6871         * tests/test-unsetenv.c (unsetenv): Likewise.
6872         * tests/test-usleep.c (usleep): Likewise.
6873         * tests/test-utimensat.c (utimensat): Likewise.
6874         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
6875         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
6876         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
6877         * tests/test-vprintf-posix.c (vprintf): Likewise.
6878         * tests/test-vsnprintf.c (vsnprintf): Likewise.
6879         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
6880         * tests/test-wcrtomb.c (wcrtomb): Likewise.
6881         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
6882         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
6883         * tests/test-wcwidth.c (wcwidth): Likewise.
6884
6885         build: pull in conditional headers during GNULIB_POSIXCHECK
6886         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
6887         definitions from any conditionally-included headers.
6888         * lib/stdlib.in.h (includes): Likewise.
6889         * lib/unistd.in.h (includes): Likewise.
6890
6891 2009-12-24  Bruno Haible  <bruno@clisp.org>
6892
6893         * tests/test-argv-iter.c: Include header file being tested immediately
6894         after config.h.
6895         * tests/test-base64.c: Likewise.
6896         * tests/test-flock.c: Likewise.
6897         * tests/test-fsync.c: Likewise.
6898         * tests/test-getdate.c: Likewise.
6899         * tests/test-getndelim2.c: Likewise.
6900         * tests/test-isfinite.c: Likewise.
6901         * tests/test-isinf.c: Likewise.
6902         * tests/test-strerror.c: Likewise.
6903         * tests/test-strsignal.c: Likewise.
6904
6905 2009-12-23  Eric Blake  <ebb9@byu.net>
6906
6907         unistd: work around cygwin bug
6908         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
6909         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
6910         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
6911
6912 2009-12-23  Bruno Haible  <bruno@clisp.org>
6913
6914         localename: More tests.
6915         * tests/test-localename.c (SIZEOF): New macro.
6916         (categories): New variable.
6917         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
6918         test_locale_name_default): Add test w.r.t. thread locale.
6919         (test_locale_name_thread): New function.
6920         (main): Invoke it.
6921
6922         localename: Make aware of thread locale.
6923         * lib/localename.h (gl_locale_name_thread): New declaration.
6924         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
6925         behaviour with respect to thread locale.
6926         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
6927         <langinfo.h>, glthread/lock.h.
6928         (SIZE_BITS): New macro.
6929         (string_hash): New function.
6930         (struct hash_node): New type.
6931         (HASH_TABLE_SIZE): New macro.
6932         (struniq_hash_table, struniq_lock): New variables.
6933         (struniq): New function.
6934         (gl_locale_name_thread): New function.
6935         (gl_locale_name): Invoke it.
6936         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
6937         * modules/localename (Depends-on): Add lock.
6938         Reported by Mike Gran <spk121@yahoo.com>.
6939
6940 2009-12-23  Eric Blake  <ebb9@byu.net>
6941
6942         va-args: new module
6943         * modules/va-args: New file.
6944         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
6945         * MODULES.html.sh (Core language properties): Mention it.
6946
6947         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
6948         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
6949         named alias for __attribute__((__unused__)).
6950         * lib/chown.c: Update client.
6951         * lib/fchmodat.c: Likewise.
6952         * lib/fts.c: Likewise.
6953         * lib/getdate.y: Likewise.
6954         * lib/getgroups.c: Likewise.
6955         * lib/getopt.c: Likewise.
6956         * lib/getugroups.c: Likewise.
6957         * lib/mkdir.c: Likewise.
6958         * lib/mkfifo.c: Likewise.
6959         * lib/mkfifoat.c: Likewise.
6960         * lib/mknod.c: Likewise.
6961         * lib/mknodat.c: Likewise.
6962         * lib/readlink.c: Likewise.
6963         * lib/se-context.in.h: Likewise.
6964         * lib/se-selinux.in.h: Likewise.
6965         * lib/sockets.c: Likewise.
6966         * lib/symlink.c: Likewise.
6967         * lib/symlinkat.c: Likewise.
6968         * lib/unicodeio.c: Likewise.
6969         * lib/unistr.h: Likewise.
6970         * tests/test-areadlink.c: Likewise.
6971         * tests/test-areadlinkat.c: Likewise.
6972         * tests/test-filenamecat.c: Likewise.
6973         * tests/test-fseeko.c: Likewise.
6974         * tests/test-ftello.c: Likewise.
6975         * tests/test-getdate.c: Likewise.
6976         * tests/test-getgroups.c: Likewise.
6977         * tests/test-gethostname.c: Likewise.
6978         * tests/test-quotearg.c: Likewise.
6979         * tests/test-version-etc.c: Likewise.
6980         * tests/test-xalloc-die.c: Likewise.
6981         * tests/test-xfprintf-posix.c: Likewise.
6982         * tests/test-xprintf-posix.c: Likewise.
6983         * tests/test-xvasprintf.c: Likewise.
6984
6985         tests: avoid compiler warnings
6986         * tests/test-fcntl.c (main): Delete unused parameters.
6987         * tests/test-freopen-safer.c (main): Likewise.
6988         * tests/test-xalloc-die.c (main): Mark unused parameters.
6989         * tests/test-fseeko.c (main): Likewise.
6990         * tests/test-ftello.c (main): Likewise.
6991         * tests/test-nanosleep.c (main): Avoid declaration warning.
6992         * tests/test-sleep.c (main): Likewise.
6993         * tests/test-unsetenv.c (main): Silence warning about string
6994         literal.
6995         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
6996
6997 2009-12-23  Bruno Haible  <bruno@clisp.org>
6998
6999         * tests/test-localename.c (test_locale_name): New function, extracted
7000         from main. Also test mixed situations.
7001         (test_locale_name_posix, test_locale_name_environ,
7002         test_locale_name_default): New functions.
7003         (main): Invoke them all.
7004         * modules/localename-tests (configure.ac): Test for newlocale.
7005
7006 2009-12-23  Bruno Haible  <bruno@clisp.org>
7007
7008         unistd: Ensure getcwd gets declared before being overridden.
7009         * lib/unistd.in.h: Conditionally include <io.h>.
7010
7011 2009-12-22  Bruno Haible  <bruno@clisp.org>
7012
7013         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7014         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7015         (gl_WCHAR_H): Invoke it.
7016         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7017         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7018         Reported by Karl Berry <karl@freefriends.org>.
7019
7020 2009-12-22  Eric Blake  <ebb9@byu.net>
7021
7022         math, unistd: avoid redundant includes
7023         * lib/math.in.h (isnan): No need to re-include <math.h>.
7024         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7025
7026         getsubopt: work around cygwin bug
7027         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7028         avoid conflicting with system getsubopt.
7029         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7030         bug.
7031
7032         getopt: synchronize from glibc
7033         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7034         parameter order.  Adjust all callers.
7035         (_getopt_internal_r, main): Adjust quoting in error messages.
7036         Drop considerations for outdated POSIX 1003.2 error message.
7037         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7038         callers.
7039         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7040
7041         test-getopt: test stderr behavior
7042         * modules/getopt-posix-tests (Depends-on): Add dup2.
7043         * tests/test-getopt.c (ASSERT): Avoid stderr.
7044         (main): Move stderr to a temporary file.
7045         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7046         Instead, add parameter to inform caller if output occurred.
7047         (test_getopt): Adjust all existing tests to expect silence, and
7048         add new tests of leading ":".
7049         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7050         glibc shortcomings with leading "-:" or "+:" in optstring.
7051         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7052         Likewise.
7053         * doc/posix-functions/getopt.texi (getopt): Likewise.
7054
7055         test-getopt: enhance test
7056         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7057         supports optind=0.
7058         * tests/test-getopt.c (OPTIND_MIN): Move...
7059         * tests/test-getopt.h (OPTIND_MIN): ...here.
7060         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7061         Require that optind=0 works, since modern BSD supports it in
7062         addition to optreset, and since coreutils expects it.
7063         (test_getopt_long_only): New test.
7064         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7065         glibc shortcomings with 'W;', and enforcement of optind=0.
7066         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7067         Likewise.
7068
7069 2009-12-21  Bruno Haible  <bruno@clisp.org>
7070
7071         localename: Improvements for MacOS X and Cygwin.
7072         * lib/localename.h (gl_locale_name_environ): New declaration.
7073         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7074         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7075         (gl_locale_name_posix): Invoke it.
7076         (gl_locale_name_default): Add comments. Use Windows native API also on
7077         Cygwin.
7078
7079 2009-12-21  Bruno Haible  <bruno@clisp.org>
7080
7081         Update list of Win32 locale ids.
7082         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7083         (LANG_SAMI): Renamed from LANG_SAAMI.
7084         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7085         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7086         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7087         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7088         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7089         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7090         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7091         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7092         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7093         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7094         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7095         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7096         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7097         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7098         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7099         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7100         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7101         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7102         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7103         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7104         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7105         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7106         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7107         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7108         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7109         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7110         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7111         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7112         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7113         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7114         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7115         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7116         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7117         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7118         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7119         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7120         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7121         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7122         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7123         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7124         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7125         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7126         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7127         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7128         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7129         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7130         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7131         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7132         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7133         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7134         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7135         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7136         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7137         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7138         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7139         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7140         Add more languages and countries for Sami, Sorbian. Add more countries
7141         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7142         for Pashto. Change country for Syriac, Tswana.
7143
7144 2009-12-21  Eric Blake  <ebb9@byu.net>
7145
7146         test-utimens: avoid spurious failure
7147         * tests/test-chown.h (nap): Factor...
7148         * tests/nap.h: ...into new file.
7149         * tests/test-lchown.h (nap): Avoid duplication.
7150         * tests/test-utimens-common.h (nap): Use shared implementation,
7151         necessary on file systems with 1-second resolution.
7152         * modules/chown-tests (Files): Include new file.
7153         * modules/fdutimensat-tests (Files): Likewise.
7154         * modules/futimens-tests (Files): Likewise.
7155         * modules/lchown-tests (Files): Likewise.
7156         * modules/openat-tests (Files): Likewise.
7157         * modules/utimens-tests (Files): Likewise.
7158         * modules/utimensat-tests (Files): Likewise.
7159
7160 2009-12-19  Eric Blake  <ebb9@byu.net>
7161
7162         futimens, utimensat: work around Linux bug
7163         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
7164         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7165         * lib/utimensat.c (rpl_utimensat): Work around it.
7166         * lib/futimens.c (rpl_futimens): Adjust comment.
7167
7168         utimens: work around Linux ctime bug
7169         * lib/utimens.c (detect_ctime_bug): New helper function.
7170         (update_timespec): Differentiate between workaround needed for
7171         this bug vs. what is needed for systems that lack utimensat.
7172         (fdutimens, lutimens): Work around bug.
7173
7174         utimens: check for ctime update
7175         * tests/test-utimens-common.h (check_ctime): Define.
7176         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
7177         * tests/test-futimens.h (test_futimens): Likewise.
7178         * tests/test-lutimens.h (test_lutimens): Likewise.
7179         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7180         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7181
7182 2009-12-19  Bruno Haible  <bruno@clisp.org>
7183
7184         dprintf-posix: Check against memory leak fixed on 2009-12-15.
7185         * tests/test-dprintf-posix2.sh: New file.
7186         * tests/test-dprintf-posix2.c: New file.
7187         * modules/dprintf-posix-tests (Files): Add them.
7188         (configure.ac): Check for getrlimit and setrlimit.
7189         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7190
7191 2009-12-19  Bruno Haible  <bruno@clisp.org>
7192
7193         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7194         * tests/test-fprintf-posix3.sh: New file.
7195         * tests/test-fprintf-posix3.c: New file.
7196         * modules/fprintf-posix-tests (Files): Add them.
7197         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7198
7199 2009-12-19  Eric Blake  <ebb9@byu.net>
7200
7201         dirfd: fix prototype
7202         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7203         * lib/dirfd.c (dirfd): Likewise.
7204
7205         canonicalize: reduce memory usage
7206         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7207         allocation to size.
7208         Reported by Solar Designer <solar@openwall.com>.
7209
7210 2009-12-19  Bruno Haible  <bruno@clisp.org>
7211
7212         New module attribute 'Applicability'.
7213         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7214         * gnulib-tool: New option --extract-applicability.
7215         (func_usage): Document it.
7216         (sed_extract_prog): Recognize it.
7217         (func_get_applicability): New function.
7218         (func_import): Generalize handling of 'link-warning' module.
7219         * modules/link-warning (Applicability): New section.
7220         * modules/arg-nonnull (Applicability): New section.
7221         Repoted by Simon Josefsson <simon@josefsson.org>.
7222
7223 2009-12-19  Bruno Haible  <bruno@clisp.org>
7224
7225         fflush: tweak
7226         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7227         * lib/fseeko.c (rpl_fseeko): Likewise.
7228
7229 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7230
7231         * lib/gl_list.h: Fix typo in comment.
7232
7233 2009-12-16  Eric Blake  <ebb9@byu.net>
7234
7235         fcntl: use to simplify other modules
7236         * modules/cloexec (Depends-on): Add fcntl.
7237         * modules/fchdir (Depends-on): Likewise.
7238         * modules/fd-safer-flag (Depends-on): Likewise.
7239         * modules/unistd-safer (Depends-on): Likewise.
7240         * modules/dup3 (configure.ac): Set module indicator.
7241         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7242         missing.
7243         * lib/fchdir.c (_gl_register_dup): Fix comment.
7244         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7245         * lib/dup-safer.c (dup_safer): Likewise.
7246         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7247         * lib/dup3.c (dup3): Likewise.
7248         * tests/test-fchdir.c (main): Enhance test.
7249         Fixes a dup_cloexec bug reported by Ondřej Vašík.
7250
7251         fcntl: port portions of fcntl to mingw
7252         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7253         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7254         replacement for mingw.
7255         * modules/fcntl (Description): Update.
7256         (Depends-on): Add dup2.
7257         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7258         * modules/fcntl-h (Makefile.am): Substitute it.
7259         * lib/fcntl.in.h (fcntl): Update declaration.
7260         (F_DUPFD, F_GETFD): New macros, when needed.
7261         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7262         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7263         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7264         we now guarantee.
7265
7266         fcntl: work around cygwin bug in F_DUPFD
7267         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7268         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7269         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7270         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7271         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7272
7273         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7274         * modules/fcntl (Files): List new files.
7275         (configure.ac): Run a test.
7276         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7277         * lib/fcntl.c (rpl_fcntl): Likewise.
7278         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7279         (gl_FCNTL_H): Always replace fcntl.h.
7280         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7281         * lib/fcntl.in.h (fcntl): Declare replacement.
7282         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7283         needed, plus a witness.
7284         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7285         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7286         * tests/test-fcntl.c: New file.
7287         * modules/fcntl-tests: Likewise.
7288
7289         binary-io: avoid potential compilation warning
7290         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7291         directives.
7292
7293         fflush: avoid compilation error on NetBSD
7294         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7295         between off_t and fpos_t, since the latter is sometimes a struct.
7296         * lib/fseeko.c (rpl_fseeko): Likewise.
7297         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7298
7299 2009-12-15  Eric Blake  <ebb9@byu.net>
7300
7301         fcntl-h, stdio, sys_ioctl: fix declarations
7302         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7303         function must not take arguments.
7304         * lib/sys_ioctl.in.h (ioctl): Likewise.
7305         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7306         (open): Add a link warning.
7307
7308 2009-12-15  Jim Meyering  <meyering@redhat.com>
7309
7310         areadlink, areadlink-with-size: relax license to LGPLv2+
7311         * modules/areadlink (License): Relax to LGPLv2+.
7312         * modules/areadlink-with-size (License): Likewise.
7313
7314 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7315             Bruno Haible  <bruno@clisp.org>
7316
7317         *printf: Fix memory leak.
7318         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7319         * lib/vfprintf.c (vfprintf): Likewise.
7320         * lib/dprintf.c (dprintf): Likewise.
7321         * lib/vdprintf.c (vdprintf): Likewise.
7322
7323 2009-12-14  Eric Blake  <ebb9@byu.net>
7324
7325         accept4: adjust module dependencies
7326         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7327
7328         utimens: one more try at avoiding compiler warning
7329         * lib/utimens.c (lutimens): Lower scope of result.
7330
7331 2009-12-13  Bruno Haible  <bruno@clisp.org>
7332
7333         Move the malloc checking from module 'list' to new module 'xlist'.
7334         * modules/xlist: New file.
7335         * lib/gl_xlist.h: New file.
7336         * lib/gl_xlist.c: New file.
7337         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7338         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7339         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7340         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7341         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7342         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7343         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7344         gl_sortedlist_nx_add): New declarations.
7345         (struct gl_list_implementation): Rename and change methods accordingly.
7346         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7347         (gl_list_nx_create): Renamed from gl_list_create.
7348         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7349         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7350         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7351         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7352         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7353         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7354         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7355         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7356         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7357         gl_list_create_empty.
7358         (gl_list_nx_create): Renamed from gl_list_create.
7359         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7360         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7361         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7362         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7363         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7364         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7365         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7366         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7367         * lib/gl_array_list.c: Don't include xalloc.h.
7368         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7369         NULL upon out-of-memory.
7370         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7371         out-of-memory.
7372         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7373         Change return type to 'int'.
7374         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7375         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7376         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7377         upon out-of-memory.
7378         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7379         upon out-of-memory.
7380         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7381         upon out-of-memory.
7382         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7383         upon out-of-memory.
7384         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7385         out-of-memory.
7386         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7387         Update.
7388         (gl_array_list_implementation): Update.
7389         * lib/gl_carray_list.c: Don't include xalloc.h.
7390         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7391         Return NULL upon out-of-memory.
7392         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7393         out-of-memory.
7394         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7395         Change return type to 'int'.
7396         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7397         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7398         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7399         upon out-of-memory.
7400         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7401         upon out-of-memory.
7402         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7403         out-of-memory.
7404         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7405         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7406         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7407         Update.
7408         (gl_carray_list_implementation): Update.
7409         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7410         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7411         gl_linked_create_empty. Return NULL upon out-of-memory.
7412         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7413         out-of-memory.
7414         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7415         Change return type to 'int'. Return -1 upon out-of-memory.
7416         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7417         out-of-memory.
7418         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7419         upon out-of-memory.
7420         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7421         upon out-of-memory.
7422         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7423         NULL upon out-of-memory.
7424         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7425         upon out-of-memory.
7426         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7427         out-of-memory.
7428         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7429         Update.
7430         * lib/gl_linked_list.c: Don't include xalloc.h.
7431         (gl_linked_list_implementation): Update.
7432         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7433         (add_to_bucket): Change return type to 'int'.
7434         (gl_linkedhash_list_implementation): Update.
7435         * lib/gl_anytree_list1.h (free_subtree): New function.
7436         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7437         gl_tree_create_empty. Return NULL upon out-of-memory.
7438         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7439         Change return type to 'int'. Return -1 upon out-of-memory.
7440         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7441         out-of-memory.
7442         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7443         (gl_tree_remove_node): New function, moved here from
7444         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7445         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7446         Update.
7447         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7448         malloc, not xmalloc. Return NULL upon out-of-memory.
7449         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7450         out-of-memory.
7451         (gl_tree_remove_node_from_tree): New function, extracted from
7452         gl_tree_remove_node.
7453         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7454         upon out-of-memory.
7455         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7456         out-of-memory.
7457         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7458         upon out-of-memory.
7459         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7460         upon out-of-memory.
7461         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7462         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7463         not xmalloc. Return NULL upon out-of-memory.
7464         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7465         out-of-memory.
7466         (gl_tree_remove_node_from_tree): New function, extracted from
7467         gl_tree_remove_node.
7468         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7469         upon out-of-memory.
7470         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7471         out-of-memory.
7472         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7473         upon out-of-memory.
7474         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7475         upon out-of-memory.
7476         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7477         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7478         gl_anytree_list1.h before gl_anyavltree_list2.h.
7479         (gl_avltree_list_implementation): Update.
7480         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7481         gl_anytree_list1.h before gl_anyavltree_list2.h.
7482         (gl_rbtree_list_implementation): Update.
7483         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7484         Change return type to 'int'. Return -1 upon out-of-memory. Use
7485         __builtin_expect.
7486         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7487         (gl_avltreehash_list_implementation): Update.
7488         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7489         (gl_rbtreehash_list_implementation): Update.
7490         * modules/array-list (Depends-on): Remove xalloc.
7491         * modules/carray-list (Depends-on): Likewise.
7492         * modules/linked-list (Depends-on): Likewise.
7493         * modules/linkedhash-list (Depends-on): Likewise.
7494         * modules/avltree-list (Depends-on): Likewise.
7495         * modules/rbtree-list (Depends-on): Likewise.
7496         * modules/avltreehash-list (Depends-on): Likewise.
7497         * modules/rbtreehash-list (Depends-on): Likewise.
7498
7499         * modules/xsublist: New file.
7500         * lib/gl_xsublist.h: New file.
7501         * lib/gl_xsublist.c: New file.
7502         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7503         (gl_sublist_nx_create): New declaration.
7504         * lib/gl_sublist.c: Don't include xalloc.h.
7505         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7506         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7507         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7508         Change return type to 'int'. Return -1 upon out-of-memory.
7509         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7510         upon out-of-memory.
7511         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7512         NULL upon out-of-memory.
7513         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7514         upon out-of-memory.
7515         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7516         NULL upon out-of-memory.
7517         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7518         NULL upon out-of-memory.
7519         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7520         upon out-of-memory.
7521         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7522         (gl_sublist_list_implementation): Update.
7523         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7524         upon out-of-memory.
7525         * modules/sublist (Depends-on): Remove xalloc.
7526
7527         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7528         * tests/test-carray_list.c: Likewise.
7529         * tests/test-linked_list.c: Likewise.
7530         * tests/test-linkedhash_list.c: Likewise.
7531         * tests/test-avltree_list.c: Likewise.
7532         * tests/test-rbtree_list.c: Likewise.
7533         * tests/test-avltreehash_list.c: Likewise.
7534         * tests/test-rbtreehash_list.c: Likewise.
7535         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7536         * modules/carray-list-tests (Makefile.am): Likewise.
7537         * modules/linked-list-tests (Makefile.am): Likewise.
7538         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7539         * modules/avltree-list-tests (Makefile.am): Likewise.
7540         * modules/rbtree-list-tests (Makefile.am): Likewise.
7541         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7542         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7543
7544         * NEWS: Mention the changes.
7545
7546         * lib/clean-temp.c: Include gl_xlist.h.
7547         * modules/clean-temp (Depends-on): Add xlist.
7548
7549         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7550         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7551
7552         * tests/test-array_oset.c: Include gl_xlist.h.
7553         * modules/array-oset-tests (Depends-on): Add xlist.
7554
7555         Reported by José E. Marchesi <jemarch@gnu.org>.
7556
7557 2009-12-13  Bruno Haible  <bruno@clisp.org>
7558
7559         Move the malloc checking from module 'oset' to new module 'xoset'.
7560         * modules/xoset: New file.
7561         * lib/gl_xoset.h: New file.
7562         * lib/gl_xoset.c: New file.
7563         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7564         declarations.
7565         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7566         (struct gl_oset_implementation): Rename and change methods accordingly.
7567         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7568         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7569         'int'. Mark as __warn_unused_result__.
7570         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7571         gl_oset_create_empty.
7572         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7573         'int'.
7574         * lib/gl_array_oset.c: Don't include xalloc.h.
7575         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7576         malloc, not xmalloc.
7577         (grow): Change return type to 'int'. Don't call xalloc_die.
7578         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7579         to 'int'.
7580         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7581         'int'.
7582         (gl_array_oset_implementation): Update.
7583         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7584         gl_tree_create_empty.
7585         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7586         'int'.
7587         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7588         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7589         xmalloc.
7590         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7591         not xmalloc.
7592         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7593         xmalloc.
7594         (gl_avltree_oset_implementation): Update.
7595         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7596         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7597         xmalloc.
7598         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7599         not xmalloc.
7600         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7601         xmalloc.
7602         (gl_rbtree_oset_implementation): Update.
7603         * modules/array-oset (Depends-on): Remove xalloc.
7604         * modules/avltree-oset (Depends-on): Likewise.
7605         * modules/rbtree-oset (Depends-on): Likewise.
7606         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7607         * tests/test-avltree_oset.c: Likewise.
7608         * tests/test-rbtree_oset.c: Likewise.
7609         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7610         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7611         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7612         * NEWS: Mention the change.
7613
7614 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7615
7616         maint.mk: allow a project to override release-prep commands
7617         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7618         commands into a new rule.
7619         (release-prep): New rule.
7620         (release-prep-hook): New overridable variable.
7621
7622 2009-12-13  Bruno Haible  <bruno@clisp.org>
7623
7624         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7625
7626 2009-12-13  Jim Meyering  <meyering@redhat.com>
7627
7628         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7629         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7630
7631 2009-12-12  Bruno Haible  <bruno@clisp.org>
7632
7633         duplocale: Tweak.
7634         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7635
7636 2009-12-12  Karl Berry  <karl@gnu.org>
7637
7638         * config/srclist.txt (strtoll.c): tab changes, no more sync.
7639
7640 2009-12-12  Bruno Haible  <bruno@clisp.org>
7641
7642         * m4/po.m4: Undo incorrect untabification.
7643
7644 2009-12-12  Bruno Haible  <bruno@clisp.org>
7645
7646         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
7647         * modules/c-strtod (Depends-on): Add locale.
7648         * modules/c-strtold (Depends-on): Likewise.
7649
7650 2009-12-12  Bruno Haible  <bruno@clisp.org>
7651
7652         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
7653
7654 2009-12-11  Eric Blake  <ebb9@byu.net>
7655
7656         setenv: relax requirement in light of POSIX ruling
7657         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
7658         not NULL.
7659         * tests/test-setenv.c (main): Relax test.
7660         * tests/test-unsetenv.c (main): Likewise.
7661         * doc/posix-functions/setenv.texi (setenv): Document this.
7662         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
7663
7664 2009-12-11  Bruno Haible  <bruno@clisp.org>
7665
7666         New module 'fd-safer-flag'.
7667         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
7668         * lib/dup-safer.c (dup_safer_flag): Remove function.
7669         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
7670         * lib/fd-safer.c (fd_safer_flag): Remove function.
7671         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
7672         * modules/cloexec (configure.ac): Drop indicator macro.
7673         * modules/fd-safer-flag: New file.
7674         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
7675         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
7676         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
7677
7678 2009-12-11  Bruno Haible  <bruno@clisp.org>
7679
7680         Tests for module 'nl_langinfo'.
7681         * modules/nl_langinfo-tests: New file.
7682         * tests/test-nl_langinfo.sh: New file.
7683         * tests/test-nl_langinfo.c: New file.
7684
7685         New module 'nl_langinfo'.
7686         * lib/nl_langinfo.c: New file.
7687         * m4/nl_langinfo.m4: New file.
7688         * modules/nl_langinfo: New file.
7689         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
7690
7691 2009-12-11  Bruno Haible  <bruno@clisp.org>
7692
7693         Tests for module 'langinfo'.
7694         * modules/langinfo-tests: New file.
7695         * tests/test-langinfo.c: New file.
7696
7697         New module 'langinfo'.
7698         * lib/langinfo.in.h: New file.
7699         * m4/langinfo_h.m4: New file.
7700         * modules/langinfo: New file.
7701         * doc/posix-headers/langinfo.texi: Mention the new module.
7702
7703 2009-12-11  Bruno Haible  <bruno@clisp.org>
7704
7705         * lib/config.charset: Untabify.
7706
7707 2009-12-11  Bruno Haible  <bruno@clisp.org>
7708
7709         * modules/unistd-safer (configure.ac): Drop indicator macro.
7710
7711 2009-12-11  Bruno Haible  <bruno@clisp.org>
7712
7713         Move pipe2-safer code to its own file.
7714         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
7715         * lib/pipe-safer.c (pipe2_safer): Remove function.
7716         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
7717         (Makefile.am): Add it to lib_SOURCES.
7718
7719 2009-12-10  Bruno Haible  <bruno@clisp.org>
7720
7721         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
7722
7723 2009-12-10  Bruno Haible  <bruno@clisp.org>
7724
7725         Declare which arguments expect non-NULL values, for GCC and clang.
7726         * build-aux/arg-nonnull.h: New file.
7727         * modules/arg-nonnull: New file.
7728         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
7729         (inet_ntop, inet_pton): Use it.
7730         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
7731         (closedir, dirfd, opendir, scandir, alphasort): Use it.
7732         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
7733         (open, openat): Use it.
7734         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
7735         (fnmatch): Use it.
7736         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
7737         (getopt, getopt_long, getopt_long_only): Use it.
7738         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
7739         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
7740         Use it.
7741         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
7742         (iconv_open): Use it.
7743         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
7744         (strtoimax, strtoumax): Use it.
7745         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
7746         (duplocale): Use it.
7747         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
7748         (frexp, frexpl): Use it.
7749         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
7750         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
7751         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
7752         (tsearch, tfind, tdelete, twalk): Use it.
7753         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
7754         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7755         sigpending): Use it.
7756         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
7757         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7758         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7759         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7760         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7761         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7762         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7763         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7764         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7765         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7766         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7767         Use it.
7768         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
7769         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
7770         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
7771         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
7772         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
7773         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
7774         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
7775         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
7776         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
7777         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
7778         strtoull, unsetenv): Use it.
7779         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
7780         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7781         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7782         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
7783         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
7784         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
7785         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
7786         (strcasecmp, strncasecmp): Use it.
7787         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
7788         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
7789         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
7790         rpl_setsockopt): Use it.
7791         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
7792         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
7793         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
7794         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
7795         (gettimeofday): Use it.
7796         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
7797         (times): Use it.
7798         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
7799         (uname): Use it.
7800         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
7801         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
7802         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
7803         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
7804         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
7805         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
7806         unlinkat, write): Use it.
7807         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
7808         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
7809         * lib/argv-iter.h: Include arg-nonnull.h.
7810         (_ATTRIBUTE_NONNULL_): Remove macro.
7811         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
7812         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
7813         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
7814         optimization.
7815         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
7816         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
7817         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
7818         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
7819         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
7820         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
7821         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
7822         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
7823         * modules/arpa_inet (Depends-on): Add arg-nonnull.
7824         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
7825         * modules/dirent (Depends-on): Add arg-nonnull.
7826         (Makefile.am): Insert arg-nonnull.h into dirent.h.
7827         * modules/fcntl-h (Depends-on): Add arg-nonnull.
7828         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
7829         * modules/fnmatch (Depends-on): Add arg-nonnull.
7830         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
7831         * modules/getopt-posix (Depends-on): Add arg-nonnull.
7832         (Makefile.am): Insert arg-nonnull.h into getopt.h.
7833         * modules/glob (Depends-on): Add arg-nonnull.
7834         (Makefile.am): Insert arg-nonnull.h into glob.h.
7835         * modules/iconv_open (Depends-on): Add arg-nonnull.
7836         (Makefile.am): Insert arg-nonnull.h into iconv.h.
7837         * modules/inttypes (Depends-on): Add arg-nonnull.
7838         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
7839         * modules/locale (Depends-on): Add arg-nonnull.
7840         (Makefile.am): Insert arg-nonnull.h into locale.h.
7841         * modules/math (Depends-on): Add arg-nonnull.
7842         (Makefile.am): Insert arg-nonnull.h into math.h.
7843         * modules/netdb (Depends-on): Add arg-nonnull.
7844         (Makefile.am): Insert arg-nonnull.h into netdb.h.
7845         * modules/search (Depends-on): Add arg-nonnull.
7846         (Makefile.am): Insert arg-nonnull.h into search.h.
7847         * modules/signal (Depends-on): Add arg-nonnull.
7848         (Makefile.am): Insert arg-nonnull.h into signal.h.
7849         * modules/spawn (Depends-on): Add arg-nonnull.
7850         (Makefile.am): Insert arg-nonnull.h into spawn.h.
7851         * modules/stdio (Depends-on): Add arg-nonnull.
7852         (Makefile.am): Insert arg-nonnull.h into stdio.h.
7853         * modules/stdlib (Depends-on): Add arg-nonnull.
7854         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
7855         * modules/string (Depends-on): Add arg-nonnull.
7856         (Makefile.am): Insert arg-nonnull.h into string.h.
7857         * modules/strings (Depends-on): Add arg-nonnull.
7858         (Makefile.am): Insert arg-nonnull.h into strings.h.
7859         * modules/sys_socket (Depends-on): Add arg-nonnull.
7860         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
7861         * modules/sys_stat (Depends-on): Add arg-nonnull.
7862         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
7863         * modules/sys_time (Depends-on): Add arg-nonnull.
7864         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
7865         * modules/sys_times (Depends-on): Add arg-nonnull.
7866         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
7867         * modules/sys_utsname (Depends-on): Add arg-nonnull.
7868         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
7869         * modules/time (Depends-on): Add arg-nonnull.
7870         (Makefile.am): Insert arg-nonnull.h into time.h.
7871         * modules/unistd (Depends-on): Add arg-nonnull.
7872         (Makefile.am): Insert arg-nonnull.h into unistd.h.
7873         * modules/wchar (Depends-on): Add arg-nonnull.
7874         (Makefile.am): Insert arg-nonnull.h into wchar.h.
7875         * modules/argv-iter (Depends-on): Add arg-nonnull.
7876         * tests/test-canonicalize.c (null_ptr): New function.
7877         (main): Use it.
7878         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
7879         (main): Use it.
7880         * tests/test-memmem.c (null_ptr): New function.
7881         (main): Use it.
7882         Reported by Jim Meyering.
7883
7884 2009-12-10  Bruno Haible  <bruno@clisp.org>
7885
7886         Use spaces for indentation, not tabs.
7887         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
7888         * m4/*.m4: Untabify.
7889         * build-aux/*.h: Untabify.
7890         * tests/**/*.[hc]: Untabify.
7891         * README: New section "Indent with spaces, not TABs", based on
7892         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
7893         * NEWS: Mention the change.
7894
7895 2009-12-10  Bruno Haible  <bruno@clisp.org>
7896
7897         pty test: Fix link error.
7898         * modules/pty-tests (Makefile.am): Add the default LDADD value to
7899         test_pty_LDADD.
7900
7901 2009-12-07  Simon Josefsson  <simon@josefsson.org>
7902
7903         * modules/pty: New file.
7904         * modules/pty-tests: New file.
7905         * m4/pty.m4: New file.
7906         * tests/test-pty.c: New file.
7907         * doc/glibc-headers/pty.texi: Modified.
7908         * doc/glibc-functions/forkpty.texi: Modified.
7909         * doc/glibc-functions/openpty.texi: Modified.
7910
7911 2009-12-10  Bruno Haible  <bruno@clisp.org>
7912
7913         Avoid syntax error in C++ mode.
7914         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
7915
7916 2009-12-10  Bruno Haible  <bruno@clisp.org>
7917
7918         Use sed with option -e.
7919         * gnulib-tool (func_version, func_emit_copyright_notice,
7920         func_emit_initmacro_end, func_import, func_create_testdir): Pass
7921         option -e to sed.
7922         * modules/link-warning (Makefile.am): Likewise.
7923
7924 2009-12-10  Jim Meyering  <meyering@redhat.com>
7925
7926         mgetgroups: do not write bytes beyond end of malloc'd buffer
7927         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
7928         username, we call getgroups with a one-element-shorter buffer,
7929         but still told it the length was original, max_n_groups.
7930
7931 2009-12-09  Eric Blake  <ebb9@byu.net>
7932
7933         cloexec: relax license
7934         * modules/cloexec (Maintainer): Add myself.
7935         (License): Use LGPL, not GPL.
7936
7937         link-warning: optimize generation
7938         * modules/link-warning (Makefile.am): Reduce process usage.
7939
7940 2009-12-09  Bruno Haible  <bruno@clisp.org>
7941
7942         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
7943         workaround was added on 2009-11-17.
7944
7945 2009-12-09  Jim Meyering  <meyering@redhat.com>
7946             Bruno Haible  <bruno@clisp.org>
7947
7948         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
7949         * modules/link-warning (Makefile.am): Make the comment-removing sed
7950         command more robust in the face of bootstrap-prepended comment lines.
7951
7952 2009-12-09  Bruno Haible  <bruno@clisp.org>
7953
7954         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
7955         most one group.
7956
7957 2009-12-09  Simon Josefsson <simon@josefsson.org>
7958             Bruno Haible  <bruno@clisp.org>
7959
7960         * build-aux/link-warning.h: Add copyright notice.
7961         * modules/link-warning (Makefile.am): Generate link-warning.h from
7962         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
7963         * NEWS: Mention change in link-warning module.
7964         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
7965         * modules/dirent (Makefile.am): Add dependency to dirent.h.
7966         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
7967         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
7968         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
7969         * modules/math (Makefile.am): Add dependency to math.h.
7970         * modules/search (Makefile.am): Add dependency to search.h.
7971         * modules/signal (Makefile.am): Add dependency to signal.h.
7972         * modules/spawn (Makefile.am): Add dependency to spawn.h.
7973         * modules/stdio (Makefile.am): Add dependency to stdio.h.
7974         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
7975         * modules/string (Makefile.am): Add dependency to string.h.
7976         * modules/strings (Makefile.am): Add dependency to strings.h.
7977         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
7978         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
7979         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
7980         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
7981         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
7982         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
7983         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
7984         * modules/unistd (Makefile.am): Add dependency to unistd.h.
7985         * modules/wchar (Makefile.am): Add dependency to wchar.h.
7986
7987 2009-12-09  Bruno Haible  <bruno@clisp.org>
7988
7989         fchdir: Optimize away rpl_fstat when possible.
7990         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
7991         REPLACE_OPEN_DIRECTORY.
7992         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
7993
7994 2009-12-09  Bruno Haible  <bruno@clisp.org>
7995
7996         * lib/fchdir.c: Update comment.
7997
7998 2009-12-09  Bruno Haible  <bruno@clisp.org>
7999
8000         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8001
8002 2009-12-08  Eric Blake  <ebb9@byu.net>
8003
8004         fchdir: avoid memory leak on re-registration.
8005         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8006
8007 2009-12-08  Jim Meyering  <meyering@redhat.com>
8008
8009         init.sh: avoid Solaris 10 /bin/sh portability problem
8010         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8011         sourced script:
8012           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8013           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8014           bar
8015         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8016         and two tests used that idiom.
8017         * tests/init.sh: Update suggested usage comments.
8018         (path_prepend_): New function, to be used in place
8019         of the --src-path=DIR option.
8020         (setup_): Move PATH-prepending code into path_prepend_.
8021         * tests/test-pread.sh: Adapt to new usage.
8022         * tests/test-xalloc-die.sh: Likewise.
8023
8024 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8025
8026         * doc/gnulib.texi (Glibc pty.h): Add.
8027         * doc/glibc-functions/forkpty.texi: Add.
8028         * doc/glibc-functions/openpty.texi: Add.
8029         Suggested by Bruno Haible.
8030
8031 2009-12-08  Eric Blake  <ebb9@byu.net>
8032
8033         fchdir: fix logic bugs
8034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8035         * tests/test-fchdir.c (main): Enhance test.
8036         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8037         is in use.
8038
8039         dup2: fix logic bugs
8040         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8041         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8042         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8043         exists.
8044         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8045
8046 2009-12-07  Eric Blake  <ebb9@byu.net>
8047
8048         unlink: fix m4 detection
8049         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8050
8051         unistd-safer: add unit test
8052         * modules/unistd-safer-tests: New file.
8053         * tests/test-dup-safer.c: Likewise.
8054         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8055         * tests/test-dup2.c (setmode): Likewise.
8056         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8057
8058         cloexec: preserve text vs. binary across dup_cloexec
8059         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8060         mode.
8061         * modules/dup2-tests (Depends-on): Add binary-io.
8062         * modules/cloexec-tests (Depends-on): Likewise.
8063         * tests/test-dup2.c (setmode, is_mode): New helpers.
8064         (main): Add tests that translation mode is preserved.
8065         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8066         Reported by Bruno Haible.
8067
8068         mgetgroups: reduce duplicate listings
8069         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8070         resulting array.
8071         * tests/test-chown.h (test_chown): Simplify client.
8072         * tests/test-lchown.h (test_lchown): Likewise.
8073
8074 2009-12-06  Bruno Haible  <bruno@clisp.org>
8075
8076         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8077         value.
8078
8079 2009-12-06  Bruno Haible  <bruno@clisp.org>
8080
8081         * lib/progname.c: Include stdio.h, stdlib.h.
8082         (set_program_name): Reject a NULL argument.
8083
8084 2009-12-05  Eric Blake  <ebb9@byu.net>
8085
8086         pipe2-safer: new module
8087         * modules/pipe2-safer: New file.
8088         * lib/unistd-safer.h (pipe2_safer): New prototype.
8089         * lib/unistd--.h (pipe2): New wrapper.
8090         * lib/pipe-safer.c (pipe2_safer): New function.
8091         * modules/pipe (Depends-on): Add pipe2-safer.
8092         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8093
8094         stdlib-safer: preserve cloexec flag for mkostemp[s]
8095         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8096         fd_safer_flag.
8097
8098         unistd-safer: allow preservation of cloexec status via flag
8099         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8100         prototypes.
8101         * lib/dup-safer.c (dup_safer_flag): New function.
8102         * lib/fd-safer.c (fd_safer_flag): Likewise.
8103         * modules/cloexec (configure.ac): Set witness.
8104
8105         test-dup2: enhance test
8106         * modules/dup2-tests (Depends-on): Add cloexec.
8107         * tests/test-dup2.c (main): Enhance test.
8108
8109         cloexec: add dup_cloexec
8110         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8111         header and comments.
8112         * lib/cloexec.c (set_cloexec_flag): Add comments.
8113         (dup_cloexec): New function, with mingw implementation borrowed
8114         from...
8115         * lib/w32spawn.h (dup_noinherit): ...here.
8116         * modules/execute (Depends-on): Add cloexec.
8117         * modules/pipe (Depends-on): Likewise.
8118         * modules/cloexec (Depends-on): Add dup2.
8119         * modules/cloexec-tests (Files): New file.
8120         * tests/test-cloexec.c: Likewise.
8121
8122         test-xalloc-die: fix test for mingw
8123         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8124         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8125         directory and .exe suffix off argv[0] output.
8126
8127         test-fseeko: fix test for mingw
8128         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8129         than undefining fseek, so test will pass on mingw.
8130
8131 2009-12-05  Bruno Haible  <bruno@clisp.org>
8132
8133         * lib/progname.h (set_program_name): Clarify specification.
8134         * lib/progname.c (set_program_name): Likewise.
8135         Reported by Jim Meyering.
8136
8137 2009-12-05  Jim Meyering  <meyering@redhat.com>
8138
8139         maint.mk: backslash-escape parens in default regexp
8140         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8141         backslash-escape the literal parentheses.
8142
8143         maint.mk: news-date-check: use grep -E
8144         * top/maint.mk (today): Define a Make variable, not a...
8145         (news-date-check): ...shell variable.
8146         (news-date-regexp): Use the Make variable.
8147         Use grep's -E option.  Change the failing diagnostic to mention
8148         the variable, $(news-date-regexp).
8149
8150 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8151
8152         maintainer-makefile: allow customization of NEWS entry format
8153         * top/maint.mk (news-date-regexp): New overridable variable.
8154         (news-date-check): Use it.
8155
8156 2009-12-04  Eric Blake  <ebb9@byu.net>
8157
8158         mgetgroups: add xgetgroups, and avoid ENOSYS failures
8159         * lib/mgetgroups.h (xgetgroups): New prototype.
8160         * lib/mgetgroups.c (xgetgroups): New wrapper.
8161         (mgetgroups): Handle ENOSYS.
8162         * modules/mgetgroups (Depends-on): Add realloc.
8163         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
8164
8165         mgetgroups: avoid argument promotion issues with -1
8166         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
8167         for invalid gid_t.
8168         * tests/test-chown.h (getegid, test_chown): Likewise.
8169         * tests/test-lchown.h (getegid, test_lchown): Likewise.
8170
8171 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
8172
8173         exclude: Fix header file problems.
8174         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
8175
8176 2009-12-01  Jim Meyering  <meyering@redhat.com>
8177
8178         fts: fts_open: do not let an empty string cause immediate failure
8179         This is required in support of GNU rm, for which the command
8180         "rm A '' B" must process and remove both A and B, in spite of
8181         the empty string argument.
8182         * lib/fts.c (fts_open): Do not let the presence of an empty string
8183         cause fts_open to fail immediately.  Most fts-using tools must be
8184         able to process all arguments, in order, and can be expected to
8185         diagnose such arguments themselves.
8186
8187 2009-11-30  Eric Blake  <ebb9@byu.net>
8188
8189         utimens: fix compilation error
8190         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8191         Declare variable at right scope.
8192
8193 2009-11-29  Jim Meyering  <meyering@redhat.com>
8194
8195         bootstrap: handle perl-5.11's changed --version output
8196         * build-aux/bootstrap (get_version): Handle perl separately,
8197         since perl-5.11's --version output is different.
8198
8199 2009-11-28  Jim Meyering  <meyering@redhat.com>
8200
8201         userspec: depend on the inttostr module, too
8202         * modules/userspec (Depends-on): Add inttostr.
8203
8204         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8205         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8206         number of MAXUID when it evaluates to (uid_t) -1.
8207         Likewise for group ID.  Reported by Matt McCutchen in
8208         <http://savannah.gnu.org/bugs/?28113>
8209
8210         userspec: reformat to use spaces, not TABs
8211         * lib/userspec.c: Expand TABs to spaces.
8212         Add Emacs' "indent-tabs-mode: nil" hint.
8213
8214 2009-11-27  Eric Blake  <ebb9@byu.net>
8215
8216         getopt-gnu: flush out another BSD bug
8217         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8218         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8219         flush out BSD bug.
8220         * tests/test-getopt.h (test_getopt): End lists with NULL.
8221         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8222         (test_getopt_long_posix): Enhance test.
8223         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8224         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8225         getopt-gnu.
8226         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8227         Likewise.
8228
8229 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8230
8231         * modules/idpriv-droptemp-tests (Notice): Fix text.
8232
8233 2009-11-27  Jim Meyering  <meyering@redhat.com>
8234
8235         test-xalloc-die: avoid spurious failure due to libtool argv difference
8236         In a libtool-enabled project, this test would fail due to a difference
8237         in the emitted program name, e.g.,
8238         -test-xalloc-die: memory exhausted
8239         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8240         Use program to avoid that.
8241         * modules/xalloc-die-tests (Depends-on): Add progname.
8242         * tests/test-xalloc-die.c: Include progname.h".
8243         (program_name): Remove decl.
8244         (main): Call set_program_name.
8245         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8246
8247 2009-11-26  Richard Jones  <rjones@redhat.com>
8248
8249         w32sock: leave win32 error in place.
8250         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8251
8252 2009-11-26  Eric Blake  <ebb9@byu.net>
8253
8254         init.sh: suggest to use skip_ and fail_ functions in comments
8255         * tests/init.sh: Add a sentence.
8256
8257 2009-11-25  Bruno Haible  <bruno@clisp.org>
8258
8259         init.sh: add documentation in comments
8260         * tests/init.sh: Add some developer and user documentation.
8261
8262 2009-11-26  Jim Meyering  <meyering@redhat.com>
8263
8264         init.sh: accommodate even those who specify bogus srcdir manually
8265         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8266         configure-time tests to be sanitized, so that there is no need to
8267         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8268         (with no double quotes) suffices.  However, since tests may be
8269         invoked manually, and since you may explicitly set srcdir to the
8270         name of a directory containing spaces, do quote its uses here.
8271         * tests/test-pread.sh: Likewise.
8272         Suggested by Bruno Haible.
8273
8274         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8275         * tests/test-pread.sh: Write no data into the pipe, because
8276         test-pread actually reads none.  This avoids a diagnostic,
8277         "bash: echo: write error: Broken pipe", that arises in the unusual
8278         event something is ignoring SIGPIPE, and might be interpreted
8279         as some sort of failure.  Reported by Bruno Haible.
8280
8281 2009-11-25  Jim Meyering  <meyering@redhat.com>
8282
8283         test-pread: cover failure with ESPIPE and EINVAL
8284         * tests/test-pread.c (main): Test for failure, too.
8285         * tests/test-pread.sh: Invoke with stdin on a pipe.
8286         Suggested by Eric Blake.
8287
8288         pread: improvement and fix
8289         * modules/pread (Depends-on): Depend on lseek, for portability to
8290         e.g., mingw.  Suggested by Eric Blake.
8291         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8292
8293         unistd.in.h: correct declaration of pread
8294         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8295         Reported by Richard W.M. Jones.
8296
8297         test-pread.sh: distribute the test script
8298         * modules/pread-tests (Files): Include test-pread.sh.
8299
8300         test-pread.sh: clean up
8301         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8302         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8303         That is unnecessary, since it's always ".".
8304         Suggestion from Eric Blake.
8305
8306         test-pread.sh: make executable
8307         * tests/test-pread.sh: Set executable bit.
8308         Reported by Eric Blake.
8309
8310         correct typo in test-pread.sh
8311         * tests/test-pread.sh: Add #! line.
8312
8313         test pread
8314         * tests/test-pread.c: New file.
8315         * tests/test-pread.sh: Likewise.
8316         * modules/pread-tests: Likewise.
8317
8318         pread: new module
8319         * modules/pread: New file.
8320         * lib/unistd.in.h (pread): Define/declare.
8321         * lib/pread.c (pread): New file.
8322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8323         * modules/unistd (Makefile.am): Substitute witnesses.
8324         * doc/posix-functions/pread.texi (pread): Update.
8325         * MODULES.html.sh: Add pread.
8326
8327 2009-11-25  Jim Meyering  <meyering@redhat.com>
8328
8329         tests/init.sh: new file to be used via most *.sh tests
8330         * tests/init.sh: New file.
8331
8332 2009-11-25  Eric Blake  <ebb9@byu.net>
8333
8334         utimens: work around older Linux failure with symlinks
8335         * lib/utimens.c (lutimensat_works_really): New variable.
8336         (fdutimens, lutimens): Use it to manage kernels that support
8337         nanosecond times on files, but not on symlinks.
8338         Reported by Ondřej Vašík.
8339
8340         utimes: fix configure grammar
8341         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8342
8343 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8344
8345         regex: Fix fastmap for multibyte character ranges.
8346         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8347         characters when a multibyte character range is included.
8348
8349 2009-11-22  Andy Wingo  <wingo@pobox.com>
8350
8351         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8352         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8353
8354 2009-11-24  Bruno Haible  <bruno@clisp.org>
8355
8356         doc: Most *_l functions exist in MacOS X 10.5.
8357         * doc/posix-functions/duplocale.texi: Update platforms list.
8358         * doc/posix-functions/freelocale.texi: Likewise.
8359         * doc/posix-functions/newlocale.texi: Likewise.
8360         * doc/posix-functions/uselocale.texi: Likewise.
8361         * doc/posix-functions/isalnum_l.texi: Likewise.
8362         * doc/posix-functions/isalpha_l.texi: Likewise.
8363         * doc/posix-functions/isblank_l.texi: Likewise.
8364         * doc/posix-functions/iscntrl_l.texi: Likewise.
8365         * doc/posix-functions/isdigit_l.texi: Likewise.
8366         * doc/posix-functions/isgraph_l.texi: Likewise.
8367         * doc/posix-functions/islower_l.texi: Likewise.
8368         * doc/posix-functions/isprint_l.texi: Likewise.
8369         * doc/posix-functions/ispunct_l.texi: Likewise.
8370         * doc/posix-functions/isspace_l.texi: Likewise.
8371         * doc/posix-functions/isupper_l.texi: Likewise.
8372         * doc/posix-functions/iswalnum_l.texi: Likewise.
8373         * doc/posix-functions/iswalpha_l.texi: Likewise.
8374         * doc/posix-functions/iswblank_l.texi: Likewise.
8375         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8376         * doc/posix-functions/iswctype_l.texi: Likewise.
8377         * doc/posix-functions/iswdigit_l.texi: Likewise.
8378         * doc/posix-functions/iswgraph_l.texi: Likewise.
8379         * doc/posix-functions/iswlower_l.texi: Likewise.
8380         * doc/posix-functions/iswprint_l.texi: Likewise.
8381         * doc/posix-functions/iswpunct_l.texi: Likewise.
8382         * doc/posix-functions/iswspace_l.texi: Likewise.
8383         * doc/posix-functions/iswupper_l.texi: Likewise.
8384         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8385         * doc/posix-functions/isxdigit_l.texi: Likewise.
8386         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8387         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8388         * doc/posix-functions/strcoll_l.texi: Likewise.
8389         * doc/posix-functions/strfmon_l.texi: Likewise.
8390         * doc/posix-functions/strftime_l.texi: Likewise.
8391         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8392         * doc/posix-functions/strxfrm_l.texi: Likewise.
8393         * doc/posix-functions/tolower_l.texi: Likewise.
8394         * doc/posix-functions/toupper_l.texi: Likewise.
8395         * doc/posix-functions/towctrans_l.texi: Likewise.
8396         * doc/posix-functions/towlower_l.texi: Likewise.
8397         * doc/posix-functions/towupper_l.texi: Likewise.
8398         * doc/posix-functions/wcscoll_l.texi: Likewise.
8399         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8400         * doc/posix-functions/wctrans_l.texi: Likewise.
8401         * doc/posix-functions/wctype_l.texi: Likewise.
8402         * doc/glibc-functions/strptime_l.texi: Likewise.
8403         * doc/glibc-functions/strtod_l.texi: Likewise.
8404         * doc/glibc-functions/strtof_l.texi: Likewise.
8405         * doc/glibc-functions/strtol_l.texi: Likewise.
8406         * doc/glibc-functions/strtold_l.texi: Likewise.
8407         * doc/glibc-functions/strtoll_l.texi: Likewise.
8408         * doc/glibc-functions/strtoul_l.texi: Likewise.
8409         * doc/glibc-functions/strtoull_l.texi: Likewise.
8410         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8411         * doc/glibc-functions/wcstod_l.texi: Likewise.
8412         * doc/glibc-functions/wcstof_l.texi: Likewise.
8413         * doc/glibc-functions/wcstol_l.texi: Likewise.
8414         * doc/glibc-functions/wcstold_l.texi: Likewise.
8415         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8416         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8417         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8418
8419 2009-11-24  Bruno Haible  <bruno@clisp.org>
8420
8421         duplocale: Fix logic bug.
8422         * lib/duplocale.c: Don't include <langinfo.h>.
8423         (_NL_LOCALE_NAME): Remove macro.
8424         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8425         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8426
8427 2009-11-23  Jim Meyering  <meyering@redhat.com>
8428
8429         test-update-copyright: don't hard-code /usr/bin/perl
8430         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8431         perl to print the current year.  Gilles Espinasse reported that
8432         the replaced use of perl was hard-coded as /usr/bin/perl.
8433
8434 2009-11-23  Bruno Haible  <bruno@clisp.org>
8435
8436         duplocale: Add support for glibc 2.3.x.
8437         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8438
8439 2009-11-22  Bruno Haible  <bruno@clisp.org>
8440
8441         vasnprintf: Tiny optimization.
8442         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8443         MacOS X.
8444
8445 2009-11-22  Bruno Haible  <bruno@clisp.org>
8446
8447         Tests for module 'duplocale'.
8448         * modules/duplocale-tests: New file.
8449         * tests/test-duplocale.c: New file.
8450
8451         New module 'duplocale'.
8452         * m4/duplocale.m4: New file.
8453         * lib/locale.in.h (duplocale): New declaration.
8454         * lib/duplocale.c: New file.
8455         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8456         gl_LOCALE_H_DEFAULTS): New macros.
8457         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8458         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8459         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8460         REPLACE_DUPLOCALE.
8461         * modules/duplocale: New file.
8462         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8463
8464 2009-11-22  Bruno Haible  <bruno@clisp.org>
8465
8466         * modules/locale-tests (configure.ac): Test for newlocale function.
8467         * tests/test-locale.c: When the system has extended locale functions,
8468         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8469
8470         locale: Make locale_t available when possible.
8471         * lib/locale.in.h: Include <xlocale.h> when it exists.
8472         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8473         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8474         * modules/locale (Depends-on): Add extensions.
8475         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8476         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8477
8478 2009-11-22  Bruno Haible  <bruno@clisp.org>
8479
8480         Add comments.
8481         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8482         invocation.
8483         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8484         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8485         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8486
8487 2009-11-22  Bruno Haible  <bruno@clisp.org>
8488
8489         error: account for the possibility of freopen (stdout).
8490         * lib/error.c: Include <unistd.h>.
8491         (flush_stdout): New function, extracted from error and error_at_line.
8492         Determine stdout's fd dynamically.
8493         (error, error_at_line): Invoke flush_stdout.
8494         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8495         * modules/error (Depends-on): Add unistd.
8496
8497 2009-11-22  Bruno Haible  <bruno@clisp.org>
8498
8499         diffseq: Add comment.
8500         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8501
8502 2009-11-22  Jim Meyering  <meyering@redhat.com>
8503
8504         c-stack: avoid defining an unused static function
8505         * lib/c-stack.c (find_stack_direction): Do not define this function
8506         when it will not be used.
8507
8508         diffseq: avoid spurious gcc warnings
8509         * lib/diffseq.h (IF_LINT2): Define.
8510         (compareseq): Use it to initialize two members of "part".
8511         This avoids two used-uninitialized warnings.
8512
8513 2009-11-21  Jim Meyering  <meyering@redhat.com>
8514
8515         c-stack: avoid "ignoring return value of `write'" warning
8516         * lib/c-stack.c: Include "ignore-value.h".
8517         (die): Explicitly ignore each write return value.
8518         * modules/c-stack (Depends-on): Add ignore-value.
8519
8520 2009-11-21  Bruno Haible  <bruno@clisp.org>
8521
8522         diffseq: reduce scope of variable 'best'.
8523         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8524         variable, earlier used for two different purposes.
8525
8526 2009-11-21  Jim Meyering  <meyering@redhat.com>
8527
8528         diffseq: remove useless assignment to "best"
8529         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8530         assignment.  At that point "best" is already guaranteed to be zero.
8531
8532 2009-11-20  Eric Blake  <ebb9@byu.net>
8533
8534         build: mention ftp redirector in release announcements
8535         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8536         values that used to come from cfg.mk; mention FTP redirect URL.
8537         * build-aux/announce-gen: Mention the mirror list.
8538         Suggested by Karl Berry.
8539
8540         nanosleep: improve port to mingw
8541         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8543         LIB_NANOSLEEP, but only when needed.
8544         * modules/select (Link): Document LIBSOCKET.
8545         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8546         enough.
8547
8548         nanosleep: work around cygwin bug
8549         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8550         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8551         bug.
8552         (getnow): Delete, not needed.
8553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8554         LIB_CLOCK_GETTIME.
8555         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8556         clock-time, gettime.
8557         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8558         bug.
8559         * modules/nanosleep-tests: New test.
8560         * tests/test-nanosleep.c: New file.
8561
8562         sleep: work around cygwin bug
8563         * lib/sleep.c (rpl_sleep): Work around the bug.
8564         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8565         (gl_PREREQ_SLEEP): Delete unused macro.
8566         * modules/sleep (Depends-on): Add verify.
8567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8568         * modules/unistd (Makefile.am): Substitute witness.
8569         * lib/unistd.in.h (sleep): Update prototype.
8570         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8571         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8572         * modules/sleep-tests (Depends-on): Check for alarm.
8573
8574 2009-11-20  Jim Meyering  <meyering@redhat.com>
8575
8576         maint.mk: improve sc_prohibit_magic_number_exit
8577         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8578         so it does not match uses like System.exit(1).
8579         Add comments showing how to correct all offenders.
8580
8581 2009-11-19  Eric Blake  <ebb9@byu.net>
8582
8583         xalloc-die-tests: add missing library
8584         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8585
8586         test-xvasprintf: silence compiler warnings
8587         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8588         empty string from gcc.
8589
8590 2009-11-19  Jim Meyering  <meyering@redhat.com>
8591
8592         xfreopen: new module, from coreutils
8593         * modules/xfreopen: New module.
8594         * lib/xfreopen.c: New file.
8595         * lib/xfreopen.h: New file.
8596         * MODULES.html.sh (File stream based Input/Output"): Add it.
8597
8598 2009-11-19  Eric Blake  <ebb9@byu.net>
8599
8600         manywarnings: depend on warnings
8601         * modules/manywarnings (Depends-on): Add warnings.
8602
8603         build: avoid compiler warnings
8604         * lib/select.c (rpl_select): Delete unused variable.
8605         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8606
8607 2009-11-18  Eric Blake  <ebb9@byu.net>
8608
8609         tests: avoid false negative with --with-packager
8610         * tests/test-version-etc.sh: Discard packager information.
8611         * tests/test-argp-version-etc-1.sh: Likewise.
8612         Reported by Mike Frysinger.
8613
8614         utimens: fix regression on Solaris
8615         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8616         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8617         can only change fd timestamps via futimesat.  Instead, use an
8618         additional witness macro to avoid BSD bug.
8619         Reported by Jim Meyering.
8620
8621 2009-11-17  Eric Blake  <ebb9@byu.net>
8622
8623         usleep: use it to simplify tests
8624         * modules/stat-time-tests (Depends-on): Add usleep.
8625         (configure.ac): Drop usleep check.
8626         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8627         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8628         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8629         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8630         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8631         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8632         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8633         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8634         Likewise.
8635         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8636         * tests/test-lchown.h (nap): Likewise.
8637         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8638         * tests/test-stat-time.c (nap): Likewise.
8639         * tests/test-utimens-common.h (nap): Update comments.
8640
8641         usleep: new module
8642         * modules/usleep: New file.
8643         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8644         * lib/usleep.c (usleep): Likewise.
8645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8646         * modules/unistd (Makefile.am): Substitute witnesses.
8647         * lib/unistd.in.h (usleep): Add declaration.
8648         * doc/pastposix-functions/usleep.texi (usleep): Document this.
8649         * MODULES.html.sh (Date and time): Likewise.
8650         * modules/usleep-tests (Depends-on): New test.
8651         * tests/test-usleep.c: New file.
8652
8653         chown: work around OpenBSD bug
8654         * lib/chown.c (rpl_chown): Work around the bug.
8655         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
8656         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
8657         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
8658         * modules/chown (Depends-on): Add stdbool.
8659         * modules/lchown (Depends-on): Likewise.
8660         * doc/posix-functions/chown.texi (chown): Document the bug.
8661         * doc/posix-functions/lchown.texi (lchown): Likewise.
8662         * tests/test-lchown.h (test_chown): Relax test.
8663
8664         mkstemp: avoid conflict with C++ keyword template
8665         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
8666         * lib/mkostemp.c (mkostemp): Likewise.
8667         * lib/mkostemps.c (mkostemps): Likewise.
8668         * lib/mkstemp.c (mkstemp): Likewise.
8669         * lib/mkstemps.c (mkstemps): Likewise.
8670
8671         xalloc-die-tests: optimize
8672         * tests/test-xalloc-die.sh: Reduce number of processes.
8673
8674 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8675
8676         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
8677         patch from ludo@gnu.org (Ludovic Courtès).
8678
8679 2009-11-17  Jim Meyering  <meyering@redhat.com>
8680
8681         version-etc: use proper license string
8682         * modules/version-etc (License): Use LGPL, not LGPLv3+.
8683         * modules/version-etc-fsf: Likewise.
8684
8685 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8686
8687         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
8688         printed to stdout.  Deal with EOL differences.
8689
8690 2009-11-17  Eric Blake  <ebb9@byu.net>
8691
8692         unsetenv: work around Solaris bug
8693         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
8694         * lib/unsetenv.c (rpl_unsetenv): Work around it.
8695         Reported by Jim Meyering.
8696
8697         vasnprintf: avoid compiler warnings
8698         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
8699         variables.
8700         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
8701
8702 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8703
8704         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
8705         settings since xalloc-die is no longer the self test,
8706         xalloc-die.sh is.
8707
8708 2009-11-17  Jim Meyering  <meyering@redhat.com>
8709
8710         test-xalloc-die.sh: make the code agree with the commit log
8711         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
8712         at the end, just in case you happen to have a test-xalloc-die
8713         program in some other PATH directory.
8714
8715         test-xalloc-die.sh: fix a portability bug
8716         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
8717         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
8718         Otherwise, argv[0] (as often seen in diagnostics) would be too
8719         system-dependent, sometimes with, and sometimes without the leading "./".
8720
8721         version-etc-fsf: relax license to LGPLv3+
8722         * modules/version-etc-fsf (License): Relax license.
8723
8724 2009-11-16  Eric Blake  <ebb9@byu.net>
8725
8726         xalloc-die-tests: avoid printing null pointer
8727         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
8728         shell script.
8729         * tests/test-xalloc-die.c (program_name): Declare.
8730         * tests/test-xalloc-die.sh (tmpfiles): New file.
8731
8732         setenv, unsetenv: work around various bugs
8733         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
8734         (setenv) [HAVE_SETENV]: Work around bugs.
8735         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
8736         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
8737         for bugs.
8738         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
8739         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
8740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
8741         * modules/stdlib (Makefile.am): Update substitutions.
8742         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
8743         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
8744         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8745         * modules/setenv-tests: New test.
8746         * modules/unsetenv-tests: Likewise.
8747         * tests/test-setenv.c: New file.
8748         * tests/test-unsetenv.c: Likewise.
8749
8750 2009-11-16  Jim Meyering  <meyering@redhat.com>
8751
8752         version-etc: relax license to LGPLv3+
8753         * modules/version-etc (License): Relax license.
8754
8755         better AC_REQUIRE expanded-before-required-warning avoidance
8756         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
8757         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
8758         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
8759         which is no longer needed.
8760
8761 2009-11-16  Eric Blake  <ebb9@byu.net>
8762
8763         test-freading: clean up temporary file
8764         * tests/test-freading.c (main): Remove file on success, and use
8765         ASSERT more liberally.
8766         Reported by Jim Meyering.
8767
8768 2009-11-16  Jim Meyering  <meyering@redhat.com>
8769
8770         avoid new AC_REQUIRE expanded-before-required warnings
8771         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
8772         merely using it.
8773         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
8774         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
8775
8776 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8777
8778         * tests/test-xalloc-die.c: New file.
8779         * modules/xalloc-die-tests: New file.
8780         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
8781         XFAIL_TESTS so it can be appended by modules.
8782
8783 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8784
8785         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
8786         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
8787
8788 2009-11-14  Eric Blake  <ebb9@byu.net>
8789
8790         fnmatch: avoid compiler warning
8791         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
8792         to silence compiler warning about mismatch signedness in ?:.
8793         Reported by Robert Millan.
8794
8795         intprops: add double-inclusion guard
8796         * lib/intprops.h: Allow idempotent includes.
8797         Suggested by Bruce Korb.
8798
8799         openat: detect Solaris fchownat bug
8800         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
8801         penalizing glibc chownat when only lchownat is broken.
8802         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
8803         trailing slash bugs.
8804         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
8805         * modules/openat-tests (Files): Include more files.
8806         (Depends-on): Add mgetgroups, sleep, stat-time.
8807         (configure.ac): Add additional checks.
8808         (Makefile.am): Build new test.
8809         * tests/test-fchownat.c: New file.
8810
8811         lchown: detect Solaris and FreeBSD bug
8812         * lib/lchown.c (rpl_lchown): Work around bug.
8813         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
8814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8815         * modules/unistd (Makefile.am): Populate it.
8816         * lib/unistd.in.h (lchown): Update declaration.
8817         * doc/posix-functions/lchown.texi (lchown): Document the bug.
8818         * modules/lchown-tests: New file.
8819         * tests/test-lchown.h (test_lchown): Likewise.
8820         * tests/test-lchown.c (main): Likewise.
8821
8822         chown: detect Solaris and FreeBSD bug
8823         * lib/chown.c (rpl_chown): Work around bug.
8824         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
8825         (gl_PREREQ_CHOWN): Delete.
8826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8827         * modules/unistd (Makefile.am): Populate it.
8828         * lib/unistd.in.h (chown): Update declaration.
8829         * lib/lchown.c (chown): Update client.
8830         * modules/lchown (Depends-on): Add lstat.
8831         * doc/posix-functions/chown.texi (chown): Document the bug.
8832         * doc/posix-functions/getgroups.texi (getgroups): Document
8833         getgroups pitfall.
8834         * modules/chown-tests: New file.
8835         * tests/test-chown.h (test_chown): Likewise.
8836         * tests/test-chown.c (main): Likewise.
8837
8838 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
8839
8840         gnulib-tool: correctly detect absence of m4 directories
8841         * gnulib-tool: Avoid extra newline on data passed to wc -l.
8842
8843 2009-11-14  Jim Meyering  <meyering@redhat.com>
8844
8845         maint.mk: Prohibit inclusion of "xalloc.h" without use.
8846         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
8847
8848 2009-11-14  John W. Eaton  <jwe@gnu.org>
8849
8850         strftime.h: wrap funtion declaration in extern "C" block
8851         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
8852
8853 2009-11-13  Eric Blake  <ebb9@byu.net>
8854
8855         getgroups: avoid compiler warning
8856         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
8857
8858         getgroups: work around FreeBSD bug
8859         * lib/getgroups.c (rpl_getgroups): Work around the bug.
8860         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
8861         * doc/posix-functions/getgroups.texi (getgroups): Document it.
8862         * tests/test-getgroups.c (main): Fix buffer overrun.
8863
8864         getgroups: avoid compilation failure
8865         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
8866         * modules/getgroups (Depends-on): Add stdint.
8867
8868 2009-11-13  Jim Meyering  <meyering@redhat.com>
8869
8870         test-getgroups: avoid compilation failure
8871         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
8872
8873 2009-11-13  Eric Blake  <ebb9@byu.net>
8874
8875         mgetgroups: new module, taken from coreutils
8876         * modules/mgetgroups: New file.
8877         * lib/mgetgroups.h: Likewise.
8878         * lib/mgetgroups.c (mgetgroups): Likewise.
8879         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
8880         * MODULES.html.sh (Users and groups): Mention it.
8881
8882         getgroups: don't expose GETGROUPS_T to user
8883         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
8884         an element at a time if GETGROUPS_T is wrong size.
8885         * lib/getugroups.h (getugroups): Change signature.
8886         * lib/unistd.in.h (getgroups): Likewise.
8887         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
8888         signature needs fixing.
8889         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
8890         AC_TYPE_GETGROUPS.
8891         * modules/group-member (Depends-on): Add getgroups.
8892         * lib/group-member.c (group_info, get_group_info): Use gid_t.
8893         (group_member): Rely on getgroups replacement.
8894         * lib/getugroups.c (getugroups): Use gid_t.
8895         * tests/test-getgroups.c (main): Likewise.
8896         * NEWS: Mention the signature change.
8897         * doc/posix-functions/getgroups.texi (getgroups): Mention the
8898         problem with signature.
8899         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
8900         GETGROUPS_T is still useful for setgroups.
8901
8902         getgroups, getugroups: provide stubs for mingw
8903         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
8904         * lib/getugroups.c (getugroups): Likewise.
8905         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
8906         function.  Modernize replacement scheme.
8907         (gl_PREREQ_GETGROUPS): Delete.
8908         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
8909         * modules/getgroups (configure.ac): Declare witness.
8910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8911         * modules/unistd (Depends-on): Substitute witness.
8912         * lib/unistd.in.h (getgroups): Declare replacement.
8913
8914         getgroups: avoid calling exit
8915         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
8916         drop xalloc.
8917         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
8918         dependencies.
8919         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
8920         exiting, in the rare case of malloc failure.
8921
8922         getgroups: fix logic error
8923         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
8924         has more than 20 groups.
8925         * modules/getgroups-tests: New test.
8926         * tests/test-getgroups.c: New file.
8927
8928 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8929
8930         * tests/test-base64.c: Improve.
8931
8932 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8933
8934         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
8935         Blake <ebb9@byu.net>.
8936
8937 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8938
8939         * tests/test-xvasprintf.c: Add %s%s related checks.
8940
8941 2009-11-12  Eric Blake  <ebb9@byu.net>
8942
8943         version-etc: match standards.texi style
8944         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
8945         and use <> only for URLs.
8946
8947 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
8948
8949         fts: do not fail on a submount during traversal
8950         * lib/fts.c (fts_build): Read the stat info again after opening
8951         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
8952         Original report at http://bugzilla.redhat.com/501848.
8953
8954 2009-11-12  Jim Meyering  <meyering@redhat.com>
8955
8956         bootstrap: sync from coreutils
8957         * build-aux/bootstrap (bootstrap_epilogue): New function.
8958         Use git_modules_config in one more place.  This make bootstrap's
8959         --gnulib-srcdir option more useful for testing.
8960
8961         bootstrap: generalize autoheader check
8962         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
8963         AC_CONFIG_HEADERS.
8964
8965 2009-11-11  Eric Blake  <ebb9@byu.net>
8966
8967         mkfifoat: use new modules for Solaris and BSD bugs
8968         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
8969         * lib/mkfifoat.c (mknodat): Split...
8970         * lib/mknodat.c (mknodat): ...into new file.
8971         * modules/mkfifoat (Files): Ship new file.
8972         (Depends-on): Add mkfifo, mknod.
8973         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
8974         (Depends-on): Add symlink.
8975         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
8976         redundant with test_mkfifo.h.
8977         (do_mkfifoat, do_mknodat): New helpers.
8978
8979         mknod: new module
8980         * modules/mknod: New file.
8981         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
8982         * lib/mknod.c (mknod): Likewise.
8983         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
8984         defaults.
8985         * modules/sys_stat (Makefile.am): Substitute them.
8986         * lib/sys_stat.in.h (mknod): Declare replacement.
8987         * MODULES.html.sh (Support for systems lacking POSIX:2008):
8988         Document it.
8989         * doc/posix-functions/mknod.texi (mknod): Likewise.
8990         * modules/mknod-tests: New test.
8991         * tests/test-mknod.c: Likewise.
8992
8993         mkfifo: new module
8994         * modules/mkfifo: New file.
8995         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8996         * lib/mkfifo.c (mkfifo): Likewise.
8997         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
8998         defaults.
8999         * modules/sys_stat (Makefile.am): Substitute them.
9000         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9001         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9002         Document it.
9003         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9004         * modules/mkfifo-tests: New test.
9005         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9006         from test-mkfifoat.c.
9007         * tests/test-mkfifo.c: New file.
9008
9009         readlink: detect FreeBSD bug
9010         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9011         slash on symlink.
9012         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9013         * tests/test-readlink.h (test_readlink): Enhance test.
9014
9015         symlink: detect FreeBSD bug
9016         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9017         slash on symlink.
9018         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9019         * tests/test-symlink.h (test_symlink): Enhance test.
9020
9021 2009-11-10  Eric Blake  <ebb9@byu.net>
9022
9023         link: detect FreeBSD bug
9024         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9025         symlink.
9026         * doc/posix-functions/link.texi (link): Document the bug.
9027         * tests/test-link.h (test_link): Enhance test.
9028         * tests/test-linkat.c (main): Update caller.
9029
9030         unlink, remove: detect FreeBSD bug
9031         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9032         slash on symlink.
9033         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9034         * doc/posix-functions/remove.texi (remove): Likewise.
9035         * tests/test-unlink.h (test_unlink): Enhance test.
9036         * tests/test-remove.c (main): Likewise.
9037
9038 2009-11-09  Eric Blake  <ebb9@byu.net>
9039
9040         rename: detect FreeBSD bug
9041         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9042         slash on symlink.
9043         * modules/renameat-tests (Depends-on): Add filenamecat.
9044         * tests/test-rename.h (test_rename): Allow one more errno.
9045         * tests/test-renameat.c (main): Likewise.
9046         * doc/posix-functions/rename.texi (rename): Document the bug.
9047
9048         open: detect FreeBSD bug
9049         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9050         symlink.
9051         * doc/posix-functions/open.texi (open): Document the bug.
9052         * doc/posix-functions/utimes.texi (utimes): Likewise.
9053         * tests/test-open.h (test_open): Add parameters, and test symlink
9054         handling.
9055         * tests/test-open.c (main): Adjust caller.
9056         * tests/test-fcntl-safer.c (main): Likewise.
9057         * modules/open-tests (Depends-on): Add stdbool, symlink.
9058         * modules/fcntl-safer-tests (Depends-on): Likewise.
9059         * tests/test-openat.c (main): Add test-open tests.
9060
9061         stat: detect FreeBSD bug
9062         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9063         symlink.
9064         * doc/posix-functions/stat.texi (stat): Document the bug.
9065         * tests/test-stat.h (test_stat_func): Add argument.
9066         * tests/test-stat.c (main): Adjust caller.
9067         * tests/test-fstatat.c (main): Likewise.
9068         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9069         Reported by Jim Meyering.
9070
9071 2009-11-09  James Youngman  <jay@gnu.org>
9072
9073         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9074         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9075
9076 2009-11-08  Jim Meyering  <meyering@redhat.com>
9077
9078         utimens: remove invalid futimesat call
9079         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9080         It used the file descriptor of the target file as the DIR_FD
9081         parameter and NULL as the file name.  That caused failure with
9082         errno == EFAULT on FreeBSD-8.0-rc2
9083
9084 2009-11-07  Eric Blake  <ebb9@byu.net>
9085
9086         fflush, freadseek: use fseeko, not fseek
9087         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9088         (clear_ungetc_buffer): Avoid potential problems on large files.
9089         * lib/freadseek.c (freadseek): Likewise.
9090         * modules/freadseek (Depends-on): Add fseeko.
9091         * modules/fseek (configure.ac): Set a witness.
9092         * tests/test-fflush.c (main): Use fseeko.
9093         * tests/test-fpurge.c (fseek): Disable link warning.
9094         * tests/test-freadable.c (fseek): Likewise.
9095         * tests/test-freading.c (fseek): Likewise.
9096         * tests/test-fseeko.c (fseek): Likewise.
9097         * tests/test-ftell.c (fseek): Likewise.
9098         * tests/test-ftello.c (fseek): Likewise.
9099         * tests/test-fwritable.c (fseek): Likewise.
9100         * tests/test-fwriting.c (fseek): Likewise.
9101
9102 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9103
9104         * modules/memchr (Depends-on): Drop getpagesize dependency.
9105
9106 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9107
9108         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9109         Reported by Ludovic Courtès.
9110         * build-aux/pmccabe2html: Improve example usage.
9111         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9112
9113 2009-11-06  Jim Meyering  <meyering@redhat.com>
9114
9115         do-release-commit-and-tag: New module.
9116         Automate the release-commit and tag process.
9117         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9118         * modules/do-release-commit-and-tag: New file.
9119         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9120
9121 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9122
9123         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9124         because test-select.c uses inet_pton.
9125
9126 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9127
9128         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9129         GETADDRINFO_LIB.  Bump serial number.
9130         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9131         Suggested by Eric Blake <ebb9@byu.net>.
9132
9133 2009-11-05  Eric Blake  <ebb9@byu.net>
9134
9135         strtod: detect darwin bug
9136         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9137         Reported by Leo Davis.
9138
9139         freopen-safer: new module
9140         * modules/freopen-safer: New module.
9141         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9142         * lib/freopen-safer.c (freopen_safer): New file.
9143         * lib/stdio-safer.h (freopen_safer): New declaration.
9144         * lib/stdio--.h (freopen): New override.
9145         * MODULES.html.sh (File stream based Input/Output): Mention it.
9146         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9147         freopen-safer module.
9148         * doc/posix-functions/stderr.texi (stderr): Likewise.
9149         * doc/posix-functions/stdin.texi (stdin): Likewise.
9150         * doc/posix-functions/stdout.texi (stdout): Likewise.
9151         * modules/freopen-safer-tests: New test.
9152         * tests/test-reopen-safer.c: New file.
9153
9154 2009-11-05  Jim Meyering  <meyering@redhat.com>
9155
9156         maint.mk: Prohibit inclusion of "close-stream.h" without use.
9157         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9158
9159 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9160
9161         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
9162
9163 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9164
9165         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
9166
9167 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9168
9169         Fix link error.
9170         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9171         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9172
9173 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9174
9175         * tests/test-func.c: Also test value of __func__.
9176
9177 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9178
9179         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
9180         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
9181
9182 2009-11-05  Bruno Haible  <bruno@clisp.org>
9183
9184         Fix link error.
9185         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9186         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9187         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9188
9189 2009-11-05  Bruno Haible  <bruno@clisp.org>
9190
9191         Tests for module 'inet_pton'.
9192         * modules/inet_pton-tests: New file.
9193         * tests/test-inet_pton.c: New file.
9194
9195 2009-11-05  Bruno Haible  <bruno@clisp.org>
9196
9197         Tests for module 'inet_ntop'.
9198         * modules/inet_ntop-tests: New file.
9199         * tests/test-inet_ntop.c: New file.
9200
9201 2009-11-04  Eric Blake  <ebb9@byu.net>
9202
9203         stdlib-safer: wrap all mkstemp variants
9204         * modules/mkostemp (configure.ac): Set witness.
9205         * modules/mkostemps (configure.ac): Likewise.
9206         * modules/mkstemps (configure.ac): Likewise.
9207         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9208         (mkstemps_safer): Wrap more functions.
9209         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9210         wrapping.
9211         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9212         (mkstemps_safer): Implement the wrappers.
9213
9214         mkstemps, mkostemps: new modules
9215         * modules/mkostemps: New module.
9216         * modules/mkstemps: Likewise.
9217         * lib/mkostemps.c (mkostemps): New file.
9218         * lib/mkstemps.c (mkstemps): Likewise.
9219         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9220         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9221         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9222         * modules/stdlib (Makefile.am): Substitute them.
9223         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9224         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9225         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9226         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9227         * MODULES.html.sh (File system functions): Mention them.
9228
9229         tempname: resync from glibc
9230         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9231         same values for __GT_FILE as glibc.  Abort even when assertions
9232         are disabled.
9233         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9234         match its value otherwise.  Allow idempotent inclusion.
9235         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9236         * lib/mkostemp.c (mkostemp): Likewise.
9237         * lib/mkstemp.c (mkstemp): Likewise.
9238         * lib/tmpfile.c (tmpfile): Likewise.
9239         * NEWS: Document this.
9240
9241         utimens: fix use of futimens on older Linux
9242         * lib/utimens.c (fdutimens): Use updated, rather than original,
9243         timespec to avoid bug in older Linux kernel.
9244         Reported by Simon Josefsson.
9245
9246 2009-11-04  Bruno Haible  <bruno@clisp.org>
9247
9248         Make num_processors more flexible and consistent.
9249         * lib/nproc.h (enum nproc_query): New type.
9250         (num_processors): Add a 'query' argument.
9251         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9252         (num_processors): Add a 'query' argument. Test the value of the
9253         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9254         mingw, count the number of CPUs available for the current process.
9255         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9256         Check for sched_getaffinity and sched_getaffinity_np.
9257         * modules/nproc (Depends-on): Add c-ctype, extensions.
9258         * NEWS: Mention the change.
9259
9260 2009-11-03  Bruno Haible  <bruno@clisp.org>
9261
9262         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9263
9264 2009-11-03  Jim Meyering  <meyering@redhat.com>
9265
9266         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9267         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9268         if it is defined.
9269
9270 2009-11-02  Eric Blake  <ebb9@byu.net>
9271
9272         mktime, timegm: share common declaration
9273         * lib/mktime-internal.h: New file.
9274         * lib/mktime.c: Use it rather than open-coding a declaration.
9275         * lib/timegm.c: Likewise.
9276         * modules/mktime (Files): Ship it.
9277         * modules/timegm (Files): Likewise.
9278         Suggested by Bruno Haible.
9279
9280         test-update-copyright: update test to match script changes
9281         * tests/test-update-copyright.sh: Avoid hard-coding perl
9282         location.  Don't update *.bak created by earlier runs.
9283
9284 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9285             Simon Josefsson  <simon@josefsson.org>
9286             Bruno Haible  <bruno@clisp.org>
9287
9288         Fix link error on Solaris 8.
9289         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9290         also in libnsl. Define also INET_PTON_LIB.
9291         * modules/inet_pton (Link): New section.
9292
9293 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9294             Bruno Haible  <bruno@clisp.org>
9295
9296         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9297         * modules/inet_ntop (Link): New section.
9298         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9299
9300 2009-11-02  Eric Blake  <ebb9@byu.net>
9301
9302         maint: avoid compiler warnings in m4 macros
9303         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9304         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9305
9306 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9307
9308         * m4/pmccabe2html.m4: Remove file.
9309         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9310         function.  Change maintainer.
9311         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9312         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9313         Courtès).
9314
9315 2009-10-31  Eric Blake  <ebb9@byu.net>
9316
9317         fseeko: fix m4 regression
9318         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9319         regression from 2009-10-27.
9320         Reported by Ralf Wildenhues.
9321
9322 2009-10-31  Jim Meyering  <meyering@redhat.com>
9323
9324         inttostr: aesthetics and improved (compile-time) safety
9325         Define inttype_is_signed rather than inttype_is_unsigned,
9326         since the sole use is via "#if inttype_is_signed".
9327         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9328         inttype_is_unsigned.
9329         * lib/offtostr.c (inttype_is_signed): Likewise.
9330         * lib/uinttostr.c (inttype_is_signed): Likewise.
9331         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9332         * lib/inttostr.c (inttostr): Use verify to cross-check the
9333         inttype_is_signed value and the signedness of the actual type.
9334         * modules/inttostr (Depends-on): Add verify.
9335
9336 2009-10-30  Eric Blake  <ebb9@byu.net>
9337
9338         build: avoid compiler warnings
9339         * lib/fchmodat.c (lchmod): Mark unused variables.
9340         * lib/getopt.c (_getopt_initialize): Likewise.
9341         * lib/mktime.c (__mktime_internal): Provide prototype.
9342         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9343         older gcc that do not understand #pragma GCC diagnostic.
9344         * lib/uinttostr.c (inttype_is_unsigned): Define.
9345         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9346
9347 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9348
9349         stat: fix compilation on AIX
9350         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9351         only see struct stat64.
9352
9353 2009-10-30  Eric Blake  <ebb9@byu.net>
9354
9355         exclude: make more robust
9356         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9357         rather than masking a coding bug.
9358         Suggested by Bruno Haible.
9359
9360 2009-10-30  Jim Meyering  <meyering@redhat.com>
9361
9362         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9363         Rather than putting #!/usr/bin/perl on the first line,
9364         start with a variant of what's recommended by "man perlrun" that
9365         invokes the first "perl" program from your shell's search path.
9366         * build-aux/gitlog-to-changelog: Replace #!... as above.
9367         Add a "Local Variables" perl mode setting.
9368         Prompted by a patch from Ludovic Courtès.
9369         Improved by Eric Blake.
9370         * build-aux/useless-if-before-free: Likewise.
9371         * build-aux/announce-gen: Likewise.
9372         * build-aux/update-copyright: Likewise.
9373
9374 2009-10-29  Eric Blake  <ebb9@byu.net>
9375
9376         filenamecat-lgpl: adjust clients
9377         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9378         filenamecat.
9379         * modules/renameat (Depends-on): Likewise.
9380
9381         filenamecat: split into filenamecat-lgpl
9382         * modules/filenamecat-lgpl: New module.
9383         * modules/filenamecat (Files): Move library-safe files into
9384         filenamecat-lgpl.
9385         (Depends-on): Add filenamecat-lgpl.
9386         (configure.ac): Declare witness.
9387         * lib/filenamecat.h (file_name_concat): Only declare when using
9388         GPL module.
9389         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9390         Move...
9391         * lib/filenamecat-lgpl.c: ...into new file.
9392         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9393         (gl_FILE_NAME_CONCAT): Use it.
9394         * MODULES.html.sh (File system functions): Mention new module.
9395
9396         argp: avoid memory leak
9397         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9398         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9399         base_name, since the latter malloc()s and can call exit().
9400         Leak introduced 2006-07-03.
9401
9402         dirname-lgpl: adjust clients that don't need full dirname
9403         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9404         * modules/filenamecat (Depends-on): Likewise.
9405         * modules/linkat (Depends-on): Likewise.
9406         * modules/mkancesdirs (Depends-on): Likewise.
9407         * modules/mkdir (Depends-on): Likewise.
9408         * modules/openat (Depends-on): Likewise.
9409         * modules/savewd (Depends-on): Likewise.
9410         * modules/rename (Depends-on): Likewise.
9411         (License): Relax license.
9412         * modules/mkdir-tests (Depends-on): Drop progname.
9413         (Makefile.am): Delete unneeded LDADD.
9414         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9415
9416         dirname: split into dirname-lgpl
9417         * modules/dirname-lgpl: New module.
9418         * modules/dirname (Files): Move library-safe files into
9419         dirname-lgpl.
9420         (Depends-on): Add dirname-lgpl.
9421         (configure.ac): Declare witness.
9422         * modules/double-slash-root (License): Relax license.
9423         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9424         module.
9425         * lib/dirname.c (dir_len, mdir_name): Move...
9426         * lib/dirname-lgpl.c: ...into new file.
9427         * lib/basename.c (last_component, base_len): Move...
9428         * lib/basename-lgpl.c: ...into new file.
9429         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9430         (gl_DIRNAME): Use it.
9431         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9432         Mention new module.
9433         * modules/dirname-tests (Depends-on): Add progname.
9434         * tests/test-dirname.c (program_name): Delete.
9435
9436         mkdir: make safe for libraries
9437         * modules/mkdir (Depends-on): Drop xalloc.
9438         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9439         exit.
9440
9441         tests: avoid some compiler warnings
9442         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9443         literals.
9444         * tests/test-memchr.c (main): Avoid type mismatch.
9445         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9446         * tests/test-base64.c (main): Likewise.
9447         * tests/test-getdelim.c (main): Likewise.
9448         * tests/test-gethostname.c (main): Likewise.
9449         * tests/test-getline.c (main): Likewise.
9450         * tests/test-netinet_in.c (main): Likewise.
9451         * tests/test-select.c (open_server_socket, main): Likewise.
9452         * tests/test-select-stdin.c (main): Likewise.
9453         * tests/test-sockets.c (main): Likewise.
9454         * tests/test-strsignal.c (main): Likewise.
9455         * tests/test-sys_select.c (main): Likewise.
9456         * tests/test-sys_socket.c (main): Likewise.
9457         * tests/test-u64.c (main): Likewise.
9458         * tests/test-xfprintf-posix.c (main): Likewise.
9459         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9460
9461         sockets: avoid compiler warning
9462         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9463
9464         maint: detect usage(1) and other suspicious exits
9465         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9466
9467 2009-10-29  Jim Meyering  <meyering@redhat.com>
9468
9469         timespec: long-to-int truncation could make timespec_cmp malfunction
9470         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9471         a multiple of 2^32 nanoseconds as no difference.
9472
9473 2009-10-28  Jim Meyering  <meyering@redhat.com>
9474
9475         fprintftime: wrap macro code argument in "do {...} while(0)"
9476         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9477         cpy macro must be a statement that can be followed by a semicolon.
9478         Now that the else clause contains a comment and is hence longer
9479         than one line, I require curly braces.  That in turn requires
9480         that we wrap this code block in the standard do...while(0).
9481
9482         fprintftime: remove stray semicolon from previous change
9483         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9484
9485         fprintftime: avoid a warning about ignored fwrite return value
9486         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9487         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9488         that is unsafe.
9489         * modules/fprintftime (Depends-on): Add ignore-value.
9490
9491         exclude: avoid an unwarranted warning
9492         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9493
9494 2009-10-27  Eric Blake  <ebb9@byu.net>
9495
9496         fseek: avoid compilation failure when fflush is replaced
9497         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9498         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9499         module is in use.
9500         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9501         module is not in use; since REPLACE_FSEEK worked otherwise.
9502         (GNULIB_FTELLO): Likewise for ftell.
9503         Reported by Ian Beckwith and others.
9504
9505 2009-10-27  Bruno Haible  <bruno@clisp.org>
9506
9507         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9508         Reported by Jim Meyering.
9509
9510 2009-10-27  Jim Meyering  <jim@meyering.net>
9511             Bruno Haible  <bruno@clisp.org>
9512
9513         Avoid warning despite dropping the return value of fwrite.
9514         * lib/unicodeio.c: Include ignore-value.h.
9515         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9516         * modules/unicodeio (Depends-on): Add ignore-value.
9517
9518 2009-10-26  Eric Blake  <ebb9@byu.net>
9519
9520         areadlinkat: fix fallback path
9521         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9522         pointer and zero.
9523
9524 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9525
9526         Use a better IO block size for modern systems
9527         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9528         * lib/md2.c: Likewise.
9529         * lib/md4.c: Likewise.
9530         * lib/md5.c: Likewise.
9531         * lib/sha1.c: Likewise.
9532         * lib/sha256.c: Likewise.
9533         * lib/sha512.c: Likewise.
9534
9535 2009-10-22  Eric Blake  <ebb9@byu.net>
9536
9537         tests: avoid several compiler warnings
9538         * tests/test-getcwd.c (main): Avoid buffer underflow.
9539         * tests/test-getdate.c (main): String literals are not safe with
9540         putenv, so use setenv.  Declare unused argument.
9541         * modules/getdate-tests (Depends-on): Add setenv.
9542         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9543         problems with string literals in char *.
9544         * tests/test-hash.c (main): Avoid shadowing declaration.
9545         (insert_new): Treat string literals as char const *.
9546         * tests/test-getopt.h (test_getopt): Likewise.
9547         (getopt_loop): Alter types to minimize casting elsewhere.
9548         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9549         (test_getopt_long_posix): Likewise.
9550         (do_getopt_long): Add wrapper to minimize casting.
9551         * tests/test-atexit.c (clear_temp_file): Use void.
9552         * tests/test-areadlink-with-size.c (main): Declare unused
9553         arguments.
9554         * tests/test-areadlink.c (main): Likewise.
9555         * tests/test-areadlinkat-with-size.c (main): Likewise.
9556         * tests/test-areadlinkat.c (main): Likewise.
9557         * tests/test-canonicalize-lgpl.c (main): Likewise.
9558         * tests/test-canonicalize.c (main): Likewise.
9559         * tests/test-dirent-safer.c (main): Likewise.
9560         * tests/test-dirname.c (main): Likewise.
9561         * tests/test-dup2.c (main): Likewise.
9562         * tests/test-fchdir.c (main): Likewise.
9563         * tests/test-fcntl-h.c (main): Likewise.
9564         * tests/test-fcntl-safer.c (main): Likewise.
9565         * tests/test-fdopendir.c (main): Likewise.
9566         * tests/test-fdutimensat.c (main): Likewise.
9567         * tests/test-fflush.c (main): Likewise.
9568         * tests/test-filenamecat.c (main): Likewise.
9569         * tests/test-filevercmp.c (main): Likewise.
9570         * tests/test-fopen-safer.c (main): Likewise.
9571         * tests/test-fopen.c (main): Likewise.
9572         * tests/test-fpending.c (main): Likewise.
9573         * tests/test-fpurge.c (main): Likewise.
9574         * tests/test-freading.c (main): Likewise.
9575         * tests/test-fstatat.c (main): Likewise.
9576         * tests/test-fsync.c (main): Likewise.
9577         * tests/test-futimens.c (main): Likewise.
9578         * tests/test-getndelim2.c (main): Likewise.
9579         * tests/test-gettimeofday.c (main): Likewise.
9580         * tests/test-getopt.c (main): Likewise.
9581         * tests/test-i-ring.c (main): Likewise.
9582         * tests/test-inttypes.c (main): Likewise.
9583         * tests/test-link.c (main): Likewise.
9584         * tests/test-lstat.c (main): Likewise.
9585         * tests/test-math.c (main): Likewise.
9586         * tests/test-md5.c (main): Likewise.
9587         * tests/test-memchr2.c (main): Likewise.
9588         * tests/test-memrchr.c (main): Likewise.
9589         * tests/test-mkdir.c (main): Likewise.
9590         * tests/test-mkdirat.c (main): Likewise.
9591         * tests/test-mkfifoat.c (main): Likewise.
9592         * tests/test-open.c (main): Likewise.
9593         * tests/test-openat-safer.c (main): Likewise.
9594         * tests/test-openat.c (main): Likewise.
9595         * tests/test-quotearg.c (main): Likewise.
9596         * tests/test-rawmemchr.c (main): Likewise.
9597         * tests/test-readlink.c (main): Likewise.
9598         * tests/test-remove.c (main): Likewise.
9599         * tests/test-rename.c (main): Likewise.
9600         * tests/test-renameat.c (main): Likewise.
9601         * tests/test-rmdir.c (main): Likewise.
9602         * tests/test-sha1.c (main): Likewise.
9603         * tests/test-signal.c (main): Likewise.
9604         * tests/test-sigaction.c (main): Likewise.
9605         * tests/test-stat.c (main): Likewise.
9606         * tests/test-stat-time.c (main): Likewise.
9607         * tests/test-stddef.c (main): Likewise.
9608         * tests/test-stdint.c (main): Likewise.
9609         * tests/test-stdio.c (main): Likewise.
9610         * tests/test-stdlib.c (main): Likewise.
9611         * tests/test-strchrnul.c (main): Likewise.
9612         * tests/test-strerror.c (main): Likewise.
9613         * tests/test-string.c (main): Likewise.
9614         * tests/test-strtod.c (main): Likewise.
9615         * tests/test-strverscmp.c (main): Likewise.
9616         * tests/test-symlink.c (main): Likewise.
9617         * tests/test-symlinkat.c (main): Likewise.
9618         * tests/test-sys_stat.c (main): Likewise.
9619         * tests/test-sys_time.c (main): Likewise.
9620         * tests/test-time.c (main): Likewise.
9621         * tests/test-unistd.c (main): Likewise.
9622         * tests/test-unlink.c (main): Likewise.
9623         * tests/test-unlinkat.c (main): Likewise.
9624         * tests/test-utimens.c (main): Likewise.
9625         * tests/test-utimensat.c (main): Likewise.
9626         * tests/test-version-etc.c (main): Likewise.
9627         * tests/test-wchar.c (main): Likewise.
9628         * tests/test-wctype.c (main): Likewise.
9629         * tests/test-xprintf-posix.c (main): Likewise.
9630         * tests/test-posixtm.c (main): Likewise.
9631         (STREQ): Delete unused macro.
9632         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9633         shadowed variables.
9634         * tests/test-memchr.c (main): Likewise.
9635
9636 2009-10-21  Eric Blake  <ebb9@byu.net>
9637
9638         areadlinkat: avoid failure on older glibc
9639         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
9640         rather than mis-comparing 0 against FUNC_RESULT of char*.
9641
9642 2009-10-21  Bruno Haible  <bruno@clisp.org>
9643
9644         * modules/stpncpy (License): Relicense under LGPLv2+.
9645         Reported by David Lutterkort <lutter@redhat.com>.
9646
9647 2009-10-20  Eric Blake  <ebb9@byu.net>
9648
9649         utimensat: work around Solaris 9 bug
9650         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
9651         has trailing slash bugs.
9652         * tests/test-lutimens.h (test_lutimens): Enhance test.
9653         * tests/test-utimens.h (test_utimens): Likewise.
9654         * doc/posix-functions/utime.texi (utime): Enhance documentation.
9655         * doc/posix-functions/utimes.texi (utimes): Likewise.
9656         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9657         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
9658         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
9659         * doc/posix-functions/futimens.texi (futimens): Likewise.
9660
9661         fdutimensat: new module
9662         * modules/fdutimensat: New file.
9663         * lib/fdutimensat.c (fdutimensat): Likewise.
9664         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
9665         * MODULES.html.sh (File system functions): Mention module.
9666         * modules/fdutimensat-tests: New test.
9667         * tests/test-fdutimensat.c: Likewise.
9668
9669         doc: regenerate INSTALL
9670         * doc/INSTALL: Reflect recent autoconf update.
9671         * doc/INSTALL.ISO: Likewise.
9672         * doc/INSTALL.UTF-8: Likewise.
9673
9674 2009-10-20  Pádraig Brady  <P@draigBrady.com>
9675
9676         acl: warn if ACL support is not detected
9677         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
9678
9679 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
9680
9681         * lib/nproc.h: Add extern "C" block for C++.
9682
9683 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
9684             Bruno Haible  <bruno@clisp.org>
9685
9686         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
9687         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
9688         * doc/posix-functions/isalpha.texi: Likewise.
9689         * doc/posix-functions/isblank.texi: Likewise.
9690         * doc/posix-functions/iscntrl.texi: Likewise.
9691         * doc/posix-functions/isdigit.texi: Likewise.
9692         * doc/posix-functions/isgraph.texi: Likewise.
9693         * doc/posix-functions/islower.texi: Likewise.
9694         * doc/posix-functions/isprint.texi: Likewise.
9695         * doc/posix-functions/ispunct.texi: Likewise.
9696         * doc/posix-functions/isspace.texi: Likewise.
9697         * doc/posix-functions/isupper.texi: Likewise.
9698         * doc/posix-functions/isxdigit.texi: Likewise.
9699
9700 2009-10-18  Bruno Haible  <bruno@clisp.org>
9701
9702         Tests for module 'isblank'.
9703         * modules/isblank-tests: New file.
9704         * tests/test-isblank.c: New file.
9705
9706         New module 'isblank'.
9707         * lib/isblank.c: New file.
9708         * m4/isblank.m4: New file.
9709         * modules/isblank: New file.
9710         * doc/posix-functions/isblank.texi: Mention the new module.
9711
9712 2009-10-18  Bruno Haible  <bruno@clisp.org>
9713
9714         New module 'ctype'.
9715         * lib/ctype.in.h: New file.
9716         * m4/ctype.m4: New file.
9717         * modules/ctype: New file.
9718         * doc/posix-headers/ctype.texi: Mention the new module.
9719
9720 2009-10-18  Jim Meyering  <meyering@redhat.com>
9721
9722         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
9723         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
9724         right after its initialization, rather than farther down.
9725         Keeping these in close proximity makes it easier to ensure
9726         that each such variable is initialized.  E.g.,
9727
9728             LIB_CLOCK_GETTIME=
9729             AC_SUBST([LIB_CLOCK_GETTIME])
9730
9731         This change also increments these serial numbers.
9732         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
9733         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9734         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9735
9736 2009-10-18  Bruno Haible  <bruno@clisp.org>
9737
9738         Don't let environment variables perturb build.
9739         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
9740         (gl_PREREQ_GETHRXTIME): ... not here.
9741
9742 2009-10-18  Bruno Haible  <bruno@clisp.org>
9743
9744         Avoid symlink attack in localcharset module.
9745         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
9746         (O_NOFOLLOW): Define fallback.
9747         (get_charset_aliases): Don't open the file if it is a symbolic link.
9748         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
9749         gl_FCNTL_H.
9750         (gl_FCNTL_H): Require it.
9751         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
9752         * modules/localcharset (Files): Add m4/fcntl_h.m4.
9753         Reported by Fergal Glynn <fglynn@veracode.com>.
9754
9755 2009-10-18  Bruno Haible  <bruno@clisp.org>
9756
9757         Implement nproc for mingw.
9758         * lib/nproc.c: Include <windows.h>
9759         (num_processors): On native Windows platforms, try GetSystemInfo.
9760
9761 2009-10-18  Bruno Haible  <bruno@clisp.org>
9762
9763         Implement nproc for IRIX.
9764         * lib/nproc.c: Include <sys/sysmp.h>.
9765         (num_processors): On IRIX systems, try sysmp.
9766         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
9767
9768 2009-10-18  Bruno Haible  <bruno@clisp.org>
9769
9770         Implement nproc for HP-UX.
9771         * lib/nproc.c: Include <sys/pstat.h>
9772         (num_processors): On HP-UX systems, try pstat_getdynamic.
9773         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
9774         pstat_getdynamic.
9775
9776 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
9777             Bruno Haible  <bruno@clisp.org>
9778
9779         Implement nproc for NetBSD, OpenBSD.
9780         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
9781         (ARRAY_SIZE): New macro.
9782         (num_processors): On BSD systems, try sysctl of HW_NCPU.
9783         * m4/nproc.m4: New file.
9784         * modules/nproc (Files): Add m4/nproc.m4.
9785         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
9786         (Makefile.am): Instead, augment lib_SOURCES.
9787
9788 2009-10-18  Bruno Haible  <bruno@clisp.org>
9789
9790         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
9791         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
9792         sys/param.h.
9793
9794 2009-10-16  Eric Blake  <ebb9@byu.net>
9795
9796         utimensat: new module
9797         * modules/utimensat: New file.
9798         * lib/utimensat.c (utimensat): Likewise.
9799         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9800         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
9801         so we can work around Linux bugs.
9802         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9803         * modules/sys_stat (Makefile.am): Substitute them.
9804         * lib/sys_stat.in.h (utimensat): Declare it.
9805         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9806         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9807         * modules/utimensat-tests: New test.
9808         * tests/test-utimensat.c: Likewise.
9809
9810         utimens: let lutimens work on non-symlinks
9811         * lib/utimens.c (lutimens): Fall back to utimens rather than
9812         failing with ENOSYS, when file is not a symlink.
9813         (utimens): Reduce redirection.
9814         * tests/test-lutimens.h (test_lutimens): Update test to cover
9815         non-symlinks.
9816         * tests/test-utimens.h (test_utimens): Update test to cover
9817         symlinks.
9818         * tests/test-utimens.c (main): Update caller.
9819
9820         utimens: cache whether utimensat syscall works
9821         * lib/utimens.c (utimensat_works_really): New cache variable.
9822         (fdutimens, lutimens): Use it to avoid failing syscall.
9823
9824         test-stat-time, test-utimens: improve portability
9825         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
9826         ext4 on alpha, and for cygwin.
9827         * tests/test-utimens-common.h: New file.
9828         (nap): Factor delays into single function.
9829         * tests/test-lutimens.h (test_lutimens): Use new header.
9830         * tests/test-futimens.h (test_futimens): Likewise.
9831         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
9832         timestamps to occur from same machine, as was done previously for
9833         test_utimens.
9834         * modules/utimens-tests (Files): Ship new file.
9835         * modules/futimens-tests (Files): Likewise.
9836         Reported in part by Jim Meyering.
9837
9838         sys_stat: sort replacement declarations
9839         * lib/sys_stat.in.h: Sort declarations.
9840         * lib/futimens.c (futimens): Fix typo.
9841
9842 2009-10-15  Jim Meyering  <meyering@redhat.com>
9843
9844         don't let environment settings perturb build
9845         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
9846         could cause a configure-time and/or build-time malfunction.
9847         Typically, a configure-time function-in-library test is performed
9848         via code like this:
9849
9850           LIB_VAR=
9851           AC_SUBST([LIB_VAR])
9852           prefix_saved_LIBS=$LIBS
9853             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
9854                        [test "$ac_cv_search_FUNC" = "none required" ||
9855                         LIB_VAR=$ac_cv_search_FUNC])
9856           LIBS=$prefix_saved_LIBS
9857
9858         However, in each of the files affected by this change, the LIB_VAR=
9859         initialization was omitted.  Thus, when set in the environment, its
9860         value would propagate into generated Makefiles when FUNC is not found
9861         in LIB_NAME.
9862         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
9863         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9864         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9865
9866 2009-10-14  Eric Blake  <ebb9@byu.net>
9867
9868         fchdir: avoid infinite recursion in mingw
9869         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
9870         recursing.
9871
9872         test-stat-time: port to mingw
9873         * tests/test-stat-time.c (force_unlink): Return a value.
9874         (test_ctime) [W32]: Fix compilation error.
9875         (nap): Don't call usleep with too large an argument.  Use
9876         force_unlink.
9877         * doc/pastposix-functions/usleep.texi (usleep): Document the
9878         portability issue.
9879
9880 2009-10-13  Jim Meyering  <meyering@redhat.com>
9881
9882         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
9883         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
9884         * modules/pipe-filter-ii: Likewise.
9885         * modules/sys_socket-tests: Likewise.
9886         * modules/tsearch-tests: Likewise.
9887         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
9888         (check): Depend on it.
9889
9890 2009-10-12  Eric Blake  <ebb9@byu.net>
9891
9892         utimens-tests: port to NFS file systems
9893         * tests/test-utimens.h (test_utimens): Refactor utimecmp
9894         comparisons to avoid spurious failures from timestamp drift
9895         between NFS machines.
9896
9897 2009-10-12  Eric Blake  <ebb9@byu.net>
9898
9899         stat-time-tests: minor cleanups
9900         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
9901         * tests/test-stat-time.c (nap): Separate assignment from call.
9902         Suggested by Paolo Bonzini and Bruno Haible.
9903
9904         sys_stat: guarantee struct timespec
9905         * lib/sys_stat.in.h (includes): Always include <time.h>
9906         * modules/sys_stat (Depends-on): Add time.
9907         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
9908         mode_t permission values.
9909         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
9910         get at subsecond timestamps.
9911
9912 2009-10-10  Eric Blake  <ebb9@byu.net>
9913
9914         futimens: new module
9915         * modules/futimens: New file.
9916         * lib/futimens.c (futimens): Likewise.
9917         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
9918         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
9919         we can work around Linux bugs.
9920         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9921         * modules/sys_stat (Makefile.am): Substitute them.
9922         * lib/sys_stat.in.h (futimens): Declare it.
9923         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9924         * doc/posix-functions/futimens.texi (futimens): Likewise.
9925         * modules/futimens-tests: New test.
9926         * tests/test-futimens.c: Likewise.
9927
9928         utimens: introduce fdutimens
9929         * lib/utimens.h (fdutimens): New prototype.
9930         * lib/utimens.c (gl_futimens): Move guts...
9931         (fdutimens): ...to new interface.
9932         * tests/test-utimens.c (do_fdutimens): Use it.
9933
9934         utimens: add UTIME_NOW and UTIME_OMIT support
9935         * lib/utimens.c (validate_timespec, update_timespec): New helper
9936         functions.
9937         (gl_futimens, lutimens): Use them.
9938         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
9939         stdbool, sys_stat.
9940         (Link): Mention resulting library dependency.
9941         * modules/utimecmp (Link): Likewise.
9942         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
9943         (Makefile.am): Pick up library dependency.
9944         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
9945         definition.
9946         * tests/test-sys_stat.c: Test the definitions.
9947         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
9948         * NEWS: Document library dependency.
9949
9950         utimecmp: support symlink timestamps
9951         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
9952         hashing when possible.  Use pathconf when available.
9953         (SYSCALL_RESOLUTION): Recognize tighter resolution.
9954         * modules/utimecmp (Depends-on): Add lstat.
9955
9956         utimens: add lutimens interface
9957         * lib/utimens.c (lutimens): New function.
9958         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
9959         * lib/utimens.h (lutimens): Declare new interface.
9960         * tests/test-utimens.c (main): Enhance test.
9961         * tests/test-lutimens.h (test_lutimens): New file.
9962         * modules/utimens-tests (Files): Distribute it.
9963         (Depends-on): Add symlink.
9964         (configure.ac): Check for usleep.
9965
9966         utimens: validate futimens usage
9967         * lib/utimens.c (gl_futimens): Require valid fd up front, using
9968         fewer syscalls on failure later on.  Avoid compiler warning on
9969         mingw.
9970         * modules/utimens (Depends-on): Add dup2.
9971
9972         utimens: add test
9973         * modules/utimens-tests: New test.
9974         * tests/test-utimens.h: New file.
9975         * tests/test-futimens.h: Likewise.
9976         * tests/test-utimens.c: Likewise.
9977
9978         doc: mention timestamp portability issues
9979         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
9980         instead.
9981         * doc/posix-functions/utime.texi (utime): Likewise.
9982         * doc/posix-functions/utimes.texi (utimes): Likewise.
9983         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
9984         instead.
9985         * doc/posix-functions/futimens.texi (futimens): Mention utimens
9986         module.
9987         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9988         Mention weakness with symlink timestamps.
9989         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
9990         to utimensat/futimens instead.
9991         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
9992
9993         test-dup2: enhance test
9994         * tests/test-dup2.c (main): Also check AT_FDCWD.
9995
9996         test-stat-time: avoid more spurious failures
9997         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
9998         xfs; and avoid race if the two timestamps cross quantization edge.
9999
10000         relocatable: prefer 'file system' over 'filesystem'
10001         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10002         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10003         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10004         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10005         * lib/relocatable.c (compute_curr_prefix): Likewise.
10006
10007 2009-10-10  Jim Meyering  <meyering@redhat.com>
10008
10009         stat-time-tests: check for the usleep function
10010         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10011
10012 2009-10-10  Bruno Haible  <bruno@clisp.org>
10013
10014         * modules/xnanosleep: Put the Link section after the Include section.
10015
10016 2009-10-09  Eric Blake  <ebb9@byu.net>
10017
10018         dup2: work around FreeBSD 6.1 bug
10019         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10020         * doc/posix-functions/dup2.texi (dup2): Document it.
10021         Reported by Nelson H. F. Beebe and Jim Meyering.
10022
10023         test-stat-time: port to buggy NFS clients
10024         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10025         (test_ctime): Also skip test if mtime and ctime are skewed.
10026
10027         maint: prefer 'file system' over 'filesystem'
10028         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10029         * doc/posix-functions/lstat.texi (lstat): Likewise.
10030         * lib/file-has-acl.c (file_has_acl): Likewise.
10031         * lib/fwriteerror.c [TEST]: Likewise.
10032         * tests/test-areadlink.h (test_areadlink): Likewise.
10033         * tests/test-areadlinkat-with-size.c (main): Likewise.
10034         * tests/test-areadlinkat.c (main): Likewise.
10035         * tests/test-canonicalize-lgpl.c (main): Likewise.
10036         * tests/test-canonicalize.c (main): Likewise.
10037         * tests/test-fstatat.c (main): Likewise.
10038         * tests/test-linkat.c (main): Likewise.
10039         * tests/test-lstat.h (test_lstat_func): Likewise.
10040         * tests/test-mkdir.h (test_mkdir): Likewise.
10041         * tests/test-readlink.h (test_readlink): Likewise.
10042         * tests/test-remove.c (main): Likewise.
10043         * tests/test-rename.h (test_rename): Likewise.
10044         * tests/test-renameat.c (main): Likewise.
10045         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10046         * tests/test-symlink.h (test_symlink): Likewise.
10047         * tests/test-symlinkat.c (main): Likewise.
10048         * tests/test-unlink.h (test_unlink_func): Likewise.
10049         * tests/test-unlinkat.c (main): Likewise.
10050
10051         maint: make realtime library usage explicit
10052         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10053         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10054         * modules/settime (Link): Likewise.
10055         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10056
10057         test-stat-time: speed up execution
10058         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10059         warning on mingw.
10060         (nap): New helper function.
10061         (prepare_test): Use it to reduce sleep time.
10062         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10063         execution.
10064         * modules/stat-time-tests (configure.ac): Check for usleep.
10065
10066 2009-10-09  Jim Meyering  <meyering@redhat.com>
10067
10068         selinux-h: always use getfilecon wrappers
10069         * lib/getfilecon.c: New file.
10070         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10071         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10072         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10073         (fgetfilecon): Provide a stub.
10074         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10075         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10076         file unconditionally.
10077         When <selinux/selinux.h> is found, arrange to use wrappers.
10078         * modules/selinux-h (Files): Add getfilecon.c.
10079         (Makefile.am): Substitute include-next-related bits
10080         into the now-always-generated selinux/selinux.h file.
10081         * doc/glibc-functions/lgetfilecon.texi: New file.
10082         * doc/glibc-functions/fgetfilecon.texi: New file.
10083         * doc/glibc-functions/getfilecon.texi: New file.
10084         * doc/glibc-functions/getfilecon-desc.texi: New file.
10085         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10086         which to pull in the new files.
10087         * MODULES.html.sh (Misc): Add selinux-h.
10088
10089 2009-10-08  Jim Meyering  <meyering@redhat.com>
10090
10091         unistd: fix comment typo
10092         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10093
10094 2009-10-08  Eric Blake  <ebb9@byu.net>
10095
10096         areadlink: use SIZE_MAX consistently
10097         * modules/areadlink (Depends-on): Add stdint.
10098         * modules/areadlink-with-size (Depends-on): Likewise.
10099         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10100         gives NULL; drop sys/types, since unistd gives size_t; and add
10101         stdint for SIZE_MAX.
10102         (SIZE_MAX): Rely on headers.
10103         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10104         and add stdint.
10105         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10106         (SIZE_MAX): Likewise.
10107         (INITIAL_BUF_SIZE): Turn into enum.
10108         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10109
10110 2009-10-08  Jim Meyering  <meyering@redhat.com>
10111
10112         areadlinkat: avoid compilation failure
10113         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10114         Fix typo in comment.
10115
10116 2009-10-07  Eric Blake  <ebb9@byu.net>
10117
10118         areadlinkat-with-size: new module
10119         * modules/areadlinkat-with-size: New module.
10120         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10121         * lib/areadlink.h (areadlinkat): Declare it.
10122         * MODULES.html.sh (File system functions): Mention it.
10123         * modules/areadlinkat-with-size-tests: New test.
10124         * tests/test-areadlinkat-with-size.c: New file.
10125
10126         xreadlinkat: new module
10127         * modules/xreadlinkat: New module.
10128         * lib/xreadlinkat.c (xreadlinkat): New file.
10129         * lib/xreadlink.h (xreadlinkat): Declare it.
10130         * MODULES.html.sh (File system functions): Mention it.
10131
10132         areadlinkat: new module
10133         * lib/at-func.c (FUNC_FAIL): New define.
10134         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10135         * modules/areadlinkat: New module.
10136         * lib/linkat.c (areadlinkat): Move...
10137         * lib/areadlinkat.c (areadlinkat): ...to new file.
10138         * lib/areadlink.h (areadlinkat): Declare it.
10139         * modules/linkat (Depends-on): Add areadlinkat.
10140         * MODULES.html.sh (File system functions): Mention it.
10141         * modules/areadlinkat-tests: New test.
10142         * tests/test-areadlinkat.c: New file.
10143
10144         areadlink, areadlink-with-size: add tests
10145         * modules/areadlink-tests: New test.
10146         * modules/areadlink-with-size-tests: Likewise.
10147         * tests/test-areadlink.h: New file.
10148         * tests/test-areadlink.c: Likewise.
10149         * tests/test-areadlink-with-size.c: Likewise.
10150
10151         maint: minor cleanups
10152         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10153         _UNUSED_PARAMETER_ instead.
10154         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10155         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10156         * modules/linkat-tests (Files): Distribute test-link.h.
10157
10158         openat, utimens: whitespace cleanup
10159         * lib/openat.c: Prefer space throughout, rather than mix of 8
10160         spaces vs. tabs.
10161         * lib/at-func.c: Likewise.
10162         * lib/utimens.c: Likewise.
10163
10164         openat: avoid using wrong fd
10165         * lib/openat.c (openat_permissive): Reject user's fd if saving the
10166         working directory chooses same fd.
10167         * lib/at-func.c (AT_FUNC_NAME): Likewise.
10168
10169         mkdir, mkdirat: fix cygwin 1.5.x bug
10170         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
10171         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
10172         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
10173         bug.
10174         (gl_PREREQ_MKDIR): Delete unused macro.
10175         * modules/mkdir (Files): Track file rename.
10176         (configure.ac): Update macro name.
10177         * modules/openat (Depends-on): Add mkdir.
10178         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
10179
10180         mkdir, mkdirat: add tests
10181         * modules/mkdir-tests: New test.
10182         * tests/test-mkdir.h: New file.
10183         * tests/test-mkdir.c: Likewise.
10184         * tests/test-mkdirat.c: Likewise.
10185         * modules/openat-tests (Files): Add new files.
10186         (Makefile.am): Run new test.
10187
10188 2009-10-06  Eric Blake  <ebb9@byu.net>
10189
10190         doc: tweak *at function documentation
10191         * doc/posix-functions/faccessat.texi (faccessat): Mention
10192         known issue with replacement.
10193         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10194         * doc/posix-functions/linkat.texi (linkat): Likewise.
10195         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10196         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10197         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10198         * doc/posix-functions/renameat.texi (renameat): Likewise.
10199         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10200
10201         openat: fix GNU/Hurd bug in unlinkat
10202         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10203         broken.
10204         * doc/posix-functions/unlink.texi (unlink): Document this.
10205         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10206
10207         fdopendir: fix GNU/Hurd bug
10208         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10209         allowing non-directory fds.
10210         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10211         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10212         * modules/dirent (Makefile.am): Substitute it.
10213         * lib/dirent.in.h (fdopendir): Declare replacement.
10214         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10215         * tests/test-fdopendir.c (main): Test something other than
10216         /dev/null, since on Hurd that behaves like a directory.
10217
10218         test-symlink: port to GNU/Hurd
10219         * tests/test-symlink.h (test_symlink): Relax expected errno.
10220
10221         doc: tweak more cygwin information
10222         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10223         now compatible with glibc.
10224         * doc/posix-functions/getopt.texi (getopt): Likewise.
10225
10226         getopt-gnu: add another test
10227         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10228         guarantee behavior relied on by m4.
10229         * tests/test-getopt.c (main): Use it.
10230         * modules/getopt-posix-tests (Depends-on): Add setenv.
10231         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10232
10233         getopt: fix compilation on darwin
10234         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10235         include.
10236         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10237         Reported by Ludovic Courtès.
10238
10239 2009-10-06  Bruno Haible  <bruno@clisp.org>
10240
10241         * modules/size_max (Description): Discourage its use.
10242         Reported by Simon Josefsson.
10243
10244 2009-10-06  Jim Meyering  <meyering@redhat.com>
10245
10246         linkat: avoid compilation failure
10247         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10248
10249 2009-10-05  Eric Blake  <ebb9@byu.net>
10250
10251         linkat: support Linux 2.6.17
10252         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10253         linkat on Linux, but allow cache variable override.
10254         * lib/linkat.c (rpl_linkat): Define override.
10255         * modules/linkat (Depends-on): Add symlinkat.
10256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10257         * modules/unistd (Makefile.am): Substitute it.
10258         * lib/unistd.in.h (linkat): Declare replacement.
10259         Reported by Pádraig Brady.
10260
10261         quotearg: port test to systems with C.UTF-8 locale
10262         * tests/test-quotearg.c (struct result_strings): Add another
10263         member, differentiating between C.ASCII and C.UTF-8 handling.
10264         (compare_strings): Add parameter.
10265         (main): Adjust all callers.
10266
10267         getopt: avoid clash with FreeBSD _getopt_internal
10268         * lib/getopt.in.h (_getopt_internal): Override the name.
10269         * lib/getopt_int.h (includes): Pick up any overrides.
10270         Reported by Reuben Thomas.
10271
10272         hash: allow C89 compilation
10273         * lib/hash.c (check_tuning): Move declaration before statement.
10274         Reported by Reuben Thomas.
10275
10276 2009-10-05  Karl Berry  <karl@gnu.org>
10277
10278         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10279
10280 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10281             Bruno Haible  <bruno@clisp.org>
10282
10283         * lib/uname.c (uname): Use a table-driven algorithm to compute
10284         Windows NT versions.
10285
10286 2009-10-04  Bruno Haible  <bruno@clisp.org>
10287
10288         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10289         program_invocation_short_name.
10290         * modules/progname (configure.ac): Test for presence of
10291         program_invocation_short_name.
10292         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10293
10294 2009-10-04  Bruno Haible  <bruno@clisp.org>
10295
10296         * lib/progname.c (set_program_name): Fix comment.
10297         Reported by Jim Meyering.
10298
10299 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10300             Bruno Haible  <bruno@clisp.org>
10301
10302         * lib/uname.c: Include <string.h>.
10303         (uname): Do only one call to GetVersionEx in the common case.
10304
10305 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10306             Bruno Haible  <bruno@clisp.org>
10307
10308         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10309         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10310         (uname): Add support for Windows CE and various non-x86 CPU types.
10311
10312 2009-10-03  Bruno Haible  <bruno@clisp.org>
10313
10314         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10315         invocation to tests/configure.ac.
10316         Reported by Ian Beckwith <ianb@erislabs.net>.
10317
10318 2009-10-02  Eric Blake  <ebb9@byu.net>
10319
10320         fchdir: avoid compiler warning
10321         * lib/fchdir.c (canonicalize_file_name)
10322         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10323
10324         test-open: support mingw errno values
10325         * tests/test-open.h (test_open): Relax test.
10326         * tests/test-fopen.h (test_fopen): Likewise.
10327         * tests/test-openat-safer.c (main): Likewise.
10328
10329         open: fix opening directory on mingw
10330         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10331
10332         test-open: on GNU/Hurd, /dev/null is a directory
10333         * tests/test-fopen.h (main): Rename...
10334         (test_fopen): ...to this.  Use a guaranteed non-directory when
10335         confirming open behavior on trailing slash.
10336         * tests/test-openat-safer.c (main): Likewise.
10337         * tests/test-open.h (main): Likewise....
10338         (test_open): ...to this.
10339         * tests/test-fopen.c (main): Adjust caller.
10340         * tests/test-fopen-safer.c (main): Likewise.
10341         * tests/test-open.c (main): Likewise.
10342         * tests/test-fcntl-safer.c (main): Likewise.
10343         Reported by Samuel Thibault.
10344
10345         rename, fchdir: don't ignore chdir failure
10346         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10347         * lib/rename.c (rpl_rename) [W32]: Likewise.
10348         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10349         an empty destination directory if source cannot be renamed,
10350         although there is still possibility for failure.
10351         * doc/posix-functions/rename.texi (rename): Document the race.
10352         Reported by Jim Meyering.
10353
10354         maint: cleanup whitespace in recent commits
10355         * lib/rename.c (rpl_rename): Remove tabs.
10356         * tests/test-link.h (test_link): Likewise.
10357         * lib/fchdir.c (get_name): Likewise.
10358         Reported by Jim Meyering.
10359
10360 2009-10-02  Ben Pfaff  <blp@gnu.org>
10361
10362         relocatable-prog-wrapper: Add missing dependency on
10363         double-slash-root.
10364         * modules/relocatable-prog-wrapper: Add dependency.
10365         Reported by Ian Beckwith <ianb@erislabs.net>.
10366
10367 2009-10-02  Eric Blake  <ebb9@byu.net>
10368
10369         renameat: fix Solaris bugs
10370         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10371         needed fixing.
10372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10373         * modules/stdio (Makefile.am): Substitute it.
10374         * lib/stdio.in.h (renameat): Declare replacement.
10375         * lib/renameat.c (rpl_renameat): Implement fix.
10376
10377         renameat: new module
10378         * modules/renameat: New file.
10379         * lib/renameat.c (renameat): Likewise.
10380         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10382         * modules/stdio (Makefile.am): Substitute them.
10383         * lib/stdio.in.h (renameat): Declare it.
10384         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10385         * doc/posix-functions/renameat.texi (renameat): Likewise.
10386         * modules/renameat-tests: New test.
10387         * tests/test-renameat.c: Likewise.
10388
10389         rename: fix mingw bugs
10390         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10391         directory overwrite bugs.
10392
10393         rename: fix another cygwin 1.5 bug
10394         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10395         checks.
10396         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10397         unnecessary cygwin workarounds.  Also work around bug with moving
10398         full directory onto an empty one.
10399         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10400
10401         rename-dest-slash: merge into rename module
10402         * modules/rename-dest-slash (Status): Mark obsolete.
10403         (Depends-on): Add rename.
10404         (Files): Let rename do it all.
10405         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10406         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10407         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10408         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10409         * lib/rename.c (rpl_rename): Update comments.
10410
10411         rename: fix cygwin 1.5.x bugs
10412         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10413         * lib/rename.c (rpl_rename): Work around them.
10414         * modules/rename (Depends-on): Add same-inode.
10415
10416         rename: fix Solaris 10 bug
10417         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10418         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10419         was the only bug.
10420
10421         rename: fix Solaris 9 bug
10422         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10423         on non-directory.  Avoid calling exit.
10424         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10425         strdup.
10426         * modules/rename-tests (Depends-on): Drop lstat.
10427         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10428         (gl_PREREQ_RENAME): Delete unused macro.
10429
10430         rename-dest-slash: fix NetBSD bug
10431         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10432         links.
10433         * modules/rename-dest-slash (Depends-on): Add same-inode.
10434
10435         rename-tests: new test, exposes several platform bugs
10436         * modules/rename-tests: New file.
10437         * tests/test-rename.h: Likewise.
10438         * tests/test-rename.c: Likewise.
10439         * doc/posix-functions/rename.texi (rename): Improve documentation,
10440         including bugs that will eventually be fixed in gnulib.
10441
10442 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10443
10444         * lib/uname.c: Include <stdlib.h>
10445         (uname): Assume version info is available.
10446
10447 2009-10-02  Jim Meyering  <meyering@redhat.com>
10448
10449         gnu-web-doc-update: correct --help output
10450         * build-aux/gnu-web-doc-update: Make --help output relevant.
10451
10452         gnu-web-doc-update: add standard options
10453         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10454
10455         gnu-web-doc-update: New module.
10456         Use this script to automatically update the on-line web documentation
10457         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10458         * modules/gnu-web-doc-update: New file, from coreutils.
10459         * build-aux/gnu-web-doc-update: New script.
10460
10461 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10462
10463         link: LoadLibrary is not needed.
10464         * lib/link.c: Use GetModuleHandle.
10465
10466 2009-10-01  Eric Blake  <ebb9@byu.net>
10467
10468         getopt: bump serial number
10469         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10470         change.
10471
10472         tests: tighten link, rmdir, and remove tests
10473         * tests/test-link.h (includes): No need to use <config.h> here.
10474         Clean up if directory hard link was created, otherwise test for
10475         trailing '.'.
10476         * tests/test-linkat.c (main): Simplify.
10477         * tests/test-remove.c (main): Enhance test for trailing '.'.
10478         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10479
10480 2009-10-01  Jim Meyering  <meyering@redhat.com>
10481
10482         maint.mk: requiring "make major" was annoying, for a "minor" release.
10483         What is intended is "stable", to contrast with alpha and beta,
10484         so require "make stable", not "make major".
10485         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10486         (get_tool_versions): Likewise.
10487         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10488
10489 2009-09-30  Ben Pfaff  <blp@gnu.org>
10490
10491         Fix broken build of replacement for Windows tmpfile().
10492         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10493         flags argument added along with the 'mkostemp' module.
10494
10495 2009-09-28  Bruno Haible  <bruno@clisp.org>
10496
10497         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10498         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10499         to 'remove_elt'.
10500         (gl_list_remove): Update.
10501         * lib/gl_list.c (gl_list_remove): Update.
10502         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10503         to 'remove_elt'.
10504         (gl_oset_remove): Update.
10505         * lib/gl_list.c (gl_oset_remove): Update.
10506         Reported by Eric Blake.
10507
10508 2009-09-28  Eric Blake  <ebb9@byu.net>
10509
10510         doc: mention yet more cygwin 1.7 status
10511         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10512         cygwin.
10513         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10514         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10515
10516         argp: fix test failure
10517         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10518         that are not upper-case.  Pass correct range to tolower.
10519
10520 2009-09-27  Jim Meyering  <meyering@redhat.com>
10521
10522         test-yesno: work around sparc-dash here-document infelicity
10523         Without this change, the literal \177 byte in a here document
10524         would make dash 0.5.5.1-3 access uninitialized memory.
10525         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10526         Instead, use a marker, "@", and filter through tr to create the desired
10527         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10528
10529 2009-09-27  Bruno Haible  <bruno@clisp.org>
10530
10531         Disable untested support for new flavours of ACLs on AIX.
10532         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10533         progress.
10534         * lib/set-mode-acl.c (qset_acl): Likewise.
10535
10536 2008-12-07  Bruno Haible  <bruno@clisp.org>
10537
10538         Add support for new flavours of ACLs on AIX. (Untested.)
10539         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10540         (file_has_acl): Add support for newer AIX.
10541         * lib/set-mode-acl.c (qset_acl): Likewise.
10542         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10543         Rainer Tammer <tammer@tammer.net>.
10544
10545 2009-09-26  Eric Blake  <ebb9@byu.net>
10546
10547         argp: fix compilation of getopt
10548         * lib/getopt.in.h (includes): Use different guard than glibc.
10549         Reported by Sergey Poznyakoff.
10550
10551         doc: mention more cygwin 1.7 status
10552         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10553         bug.
10554         * doc/posix-functions/execl.texi (execl): Likewise.
10555         * doc/posix-functions/execle.texi (execle): Likewise.
10556         * doc/posix-functions/execlp.texi (execlp): Likewise.
10557         * doc/posix-functions/execv.texi (execv): Likewise.
10558         * doc/posix-functions/execve.texi (execve): Likewise.
10559         * doc/posix-functions/execvp.texi (execvp): Likewise.
10560         * doc/glibc-functions/canonicalize_file_name.texi
10561         (canonicalize_file_name): Cygwin 1.7 now provides this.
10562         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10563         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10564         on AT_SYMLINK_NOFOLLOW.
10565
10566 2009-09-24  Eric Blake  <ebb9@byu.net>
10567
10568         test-linkat: make test more robust
10569         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10570
10571         getopt: fix inclusion guards for cygwin
10572         * modules/getopt-posix (Depends-on): Add include-next.
10573         (Makefile.am): Substitute more items in replacement header.
10574         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10575         <getopt.h>.
10576         * lib/getopt.in.h (includes): Use split inclusion guard, and
10577         prefer <getopt.h> over include <unistd.h> when one is present.
10578         (option): Also override name of 'struct option'.
10579
10580         same-inode: revert prior change; it is not yet ready
10581         * NEWS: Undo mention of this change.
10582         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10583         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10584         * lib/cycle-check.c (cycle_check): Likewise.
10585         * lib/same.c (same_name): Likewise.
10586         * lib/at-func2.c (at_func2): Likewise.
10587
10588 2009-09-23  Eric Blake  <ebb9@byu.net>
10589
10590         linkat: new module
10591         * modules/linkat: New file.
10592         * lib/at-func2.c (at_func2): Likewise.
10593         * lib/linkat.c (linkat): Likewise.
10594         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10595         * lib/openat-priv.h (at_func2): Add declaration.
10596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10597         * modules/unistd (Makefile.am): Substitute them.
10598         * lib/unistd.in.h (linkat): Declare it.
10599         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10600         * doc/posix-functions/linkat.texi (linkat): Likewise.
10601         * doc/posix-functions/link.texi (link): Tweak wording.
10602         * tests/test-link.c (main): Move guts...
10603         * tests/test-link.h (test_link): ...into new file.
10604         * modules/linkat-tests: New test.
10605         * tests/test-linkat.c: Likewise.
10606         * modules/link-tests (Files): Ship new file.
10607         (Depends-on): Add stdbool.
10608
10609         dirname: add library-safe mdir_name
10610         * lib/dirname.h (mdir_name): New prototype.
10611         * lib/dirname.c (dir_name): Move guts...
10612         (mdir_name): ...to new function that avoids xalloc_die.
10613
10614         fchdir: another mingw fix
10615         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10616         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10617         on mingw (where it has not yet been ported), and make it optional
10618         elsewhere.
10619         (_gl_register_fd): Use it.
10620
10621         same-inode: make SAME_INODE tri-state, to port to mingw
10622         * NEWS: Mention this change.
10623         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10624         st_ino always being 0.
10625         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10626         * lib/cycle-check.c (cycle_check): Likewise.
10627         * lib/same.c (same_name): Likewise.
10628
10629         lstat: avoid mingw compilation error
10630         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10631         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10632         lstat ourselves.
10633         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10634         was adequate.
10635         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10636         the checks for lstat.
10637         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10638
10639         link: fix test failure on Solaris 9
10640         * lib/link.c (rpl_link): Don't assume link will catch bogus
10641         trailing slash on source.
10642
10643         test-symlinkat: enhance test
10644         * tests/test-readlink.c (main): Move guts...
10645         * tests/test-readlink.h (test_readlink): ...into new file.
10646         * tests/test-symlink.c (main): Move guts...
10647         * tests/test-symlink.h (test_symlink): ...into new file.
10648         * tests/test-symlinkat.c (main): Use new files for further
10649         coverage.
10650         (do_symlink, do_readlink): New helper functions.
10651         * modules/symlink-tests (Files): Ship new file.
10652         (Depends-on): Add stdbool.
10653         * modules/readlink-tests (Files): Ship new file.
10654         (Depends-on): Add stdbool.
10655         * modules/symlinkat-tests (Files): Use new files.
10656
10657 2009-09-23  Eric Blake  <ebb9@byu.net>
10658
10659         readlink: document portability issue with symlink length
10660         * doc/posix-functions/lstat.texi (lstat): Mention that some file
10661         systems have bogus st_size on symlinks, and mention the
10662         areadlink-with-size module.
10663         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10664         * doc/posix-functions/readlink.texi (readlink): Mention the
10665         areadlink module, and ERANGE failure.
10666         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10667         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
10668
10669         readlink: fix Solaris 9 bug with trailing slash
10670         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
10671         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
10672         * doc/posix-functions/readlink.texi (readlink): Document this.
10673         * modules/readlink-tests: New test.
10674         * tests/test-readlink.c: Likewise.
10675
10676         readlink: fix cygwin 1.5.x bug with return type
10677         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
10678         * lib/unistd.in.h (readlink): Use ssize_t.
10679         * lib/readlink.c (readlink): Likewise.
10680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10681         * modules/unistd (Makefile.am): Substitute it.
10682         * lib/unistd.in.h (readlink): Declare replacement.
10683         * doc/posix-functions/readlink.texi (readlink): Document this.
10684
10685         symlink: use throughout gnulib
10686         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
10687         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
10688         symlink is not used.
10689         * modules/symlinkat (Depends-on): Add symlink.
10690         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10691         * modules/canonicalize-tests (Depends-on): Likewise.
10692         * modules/lstat-tests (Depends-on): Likewise.
10693         * modules/openat-tests (Depends-on): Likewise.
10694         * modules/remove-tests (Depends-on): Likewise.
10695         * modules/rmdir-tests (Depends-on): Likewise.
10696         * modules/unlink-tests (Depends-on): Likewise.
10697         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
10698         * tests/test-canonicalize.c (symlink): Likewise.
10699         * tests/test-fstatat.c (symlink): Likewise.
10700         * tests/test-lstat.c (symlink): Likewise.
10701         * tests/test-remove.c (symlink): Likewise.
10702         * tests/test-rmdir.c (symlink): Likewise.
10703         * tests/test-unlink.c (symlink): Likewise.
10704         * tests/test-unlinkat.c (symlink): Likewise.
10705
10706         symlink: new module, for Solaris 9 bug
10707         * modules/symlink: New file.
10708         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10709         * lib/symlink.c: Likewise.
10710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10711         * modules/unistd (Makefile.am): Substitute them.
10712         * lib/unistd.in.h (symlink): Declare replacement.
10713         * MODULES.html.sh (File system functions): Mention it.
10714         * doc/posix-functions/symlink.texi (symlink): Likewise.
10715         * modules/symlink-tests: New test.
10716         * tests/test-symlink.c: Likewise.
10717
10718 2009-09-23  Bruno Haible  <bruno@clisp.org>
10719
10720         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
10721         when needed.
10722         Test case: gnulib-tool --import --with-tests atexit inttypes.
10723         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
10724
10725 2009-09-23  Bruno Haible  <bruno@clisp.org>
10726
10727         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
10728         subcommand, not in a subshell.
10729
10730 2009-09-22  Eric Blake  <ebb9@byu.net>
10731
10732         unistd: sort replacement declarations
10733         * lib/unistd.in.h: Sort declarations.
10734
10735         open, openat: minor optimization
10736         * lib/open.c (open): If open succeeded, len is non-zero.
10737         * lib/openat.c (rpl_openat): Likewise.
10738
10739         link-follow: ensure correct result
10740         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
10741         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
10742         distinguish between possible failures.
10743
10744 2009-09-21  Eric Blake  <ebb9@byu.net>
10745
10746         fts: avoid compiler warning
10747         * lib/fts.c (dirent_inode_sort_may_be_useful)
10748         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
10749
10750 2009-09-19  Bruno Haible  <bruno@clisp.org>
10751
10752         * lib/progreloc.c (canonicalize_file_name): New declaration.
10753
10754 2009-09-19  Eric Blake  <ebb9@byu.net>
10755
10756         link: fix quoting
10757         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
10758
10759         openat: fix openat bugs on Solaris 9
10760         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
10761         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
10762         * modules/openat (Depends-on): Add open.
10763         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
10764         * modules/fcntl-h (Makefile.am): Substitute it.
10765         * lib/fcntl.in.h (openat): Declare replacement.
10766         * doc/posix-functions/openat.texi (openat): Document this.
10767
10768         openat: move fstatat and unlinkat into correct files
10769         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
10770         compiled.
10771         * lib/openat.c (fstatat, unlinkat): Move...
10772         * lib/fstatat.c (fstatat): ...into correct files.
10773         * lib/unlinkat.c (unlinkat): Likewise.
10774
10775         openat: fix unlinkat bugs on Solaris 9
10776         * lib/unlinkat.c (unlinkat): New file.
10777         * modules/openat (Depends-on): Add unlink.
10778         (Files): Distribute it.
10779         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
10780         trailing slash behavior is broken.
10781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10782         * modules/unistd (Makefile.am): Substitute it.
10783         * lib/unistd.in.h (unlinkat): Declare replacement.
10784         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
10785
10786         openat: fix fstatat bugs on Solaris 9
10787         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
10788         stat.
10789         * doc/posix-functions/fstatat.texi (fstatat): Document this.
10790
10791         test-unlinkat: enhance test, to expose Solaris 9 bug
10792         * tests/test-unlink.c (main): Factor guts...
10793         * tests/test-unlink.h (test_rmdir_func): ...into new file.
10794         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
10795         * tests/test-rmdir.c (main): Adjust caller.
10796         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
10797         (unlinker): New helper function.
10798         (rmdirat): Enhance check.
10799         * modules/rmdir-tests (Depends-on): Add stdbool.
10800         * modules/unlink-tests (Depends-on): Likewise.
10801         (Files): Add test-unlink.h.
10802         * modules/openat-tests (Files): Likewise.
10803         (Depends-on): Add unlinkdir.
10804
10805         test-fstatat: new test, to expose Solaris 9 bugs
10806         * tests/test-stat.c (main): Factor guts...
10807         * tests/test-stat.h (test_stat_func): ...into new file.
10808         * tests/test-lstat.c (main): Factor guts...
10809         * tests/test-lstat.h (test_lstat_func): ...into new file.
10810         * tests/test-fstatat.c: New file.
10811         * modules/stat-tests (Files): Add test-stat.h.
10812         * modules/lstat-tests (Files): Add test-lstat.h.
10813         (Depends-on): Add stdbool.
10814         * modules/openat-tests (Depends-on): Add pathmax.
10815         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
10816         (Makefile.am): Run new test.
10817
10818         remove: new module, for mingw and Solaris 9 bugs
10819         * modules/remove: New file.
10820         * lib/remove.c: Likewise.
10821         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
10822         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10823         * modules/stdio (Makefile.am): Use them.
10824         * lib/stdio.in.h (remove): Declare replacement.
10825         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10826         * doc/posix-functions/remove.texi (remove): Likewise.
10827         * modules/remove-tests: New test.
10828         * tests/test-remove.c: Likewise.
10829
10830         unlink: new module, for Solaris 9 bug
10831         * modules/unlink: New file.
10832         * lib/unlink.c: Likewise.
10833         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10835         * modules/unistd (Makefile.am): Use them.
10836         * lib/unistd.in.h (stat): Declare replacement.
10837         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10838         * doc/posix-functions/unlink.texi (unlink): Likewise.
10839         * modules/unlink-tests: New test.
10840         * tests/test-unlink.c: Likewise.
10841
10842         lstat: fix Solaris 9 bug
10843         * lib/lstat.c (lstat): Also check for trailing slash on
10844         non-symlink, non-directories.  Use stat module to simplify logic.
10845         * doc/posix-functions/lstat.texi (lstat): Document it.
10846         * modules/lstat-tests (Depends-on): Add errno, same-inode.
10847         (configure.ac): Check for symlink.
10848         * tests/test-lstat.c (main): Add more tests.
10849
10850         stat: add as dependency to other modules
10851         * modules/chown (Depends-on): Add stat.
10852         * modules/euidaccess (Depends-on): Likewise.
10853         * modules/fchdir (Depends-on): Likewise.
10854         * modules/isdir (Depends-on): Likewise.
10855         * modules/link (Depends-on): Likewise.
10856         * modules/lstat (Depends-on): Likewise.
10857         * modules/mkdir-p (Depends-on): Likewise.
10858         * modules/modechange (Depends-on): Likewise.
10859         * modules/open (Depends-on): Likewise.
10860         * modules/readlink (Depends-on): Likewise.
10861         * modules/same (Depends-on): Likewise.
10862
10863         stat: fix Solaris 9 bug
10864         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
10865         slash.
10866         * lib/stat.c (rpl_stat): Work around it.
10867         * doc/posix-functions/stat.texi (stat): Update documentation.
10868
10869         stat: new module, for mingw bug
10870         * modules/stat: New file.
10871         * lib/stat.c: Likewise.
10872         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10873         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10874         * modules/sys_stat (Makefile.am): Use them.
10875         * lib/sys_stat.in.h (stat): Declare replacement.
10876         * lib/openat.c (fstatat): Deal with lstat and stat being function
10877         macros.
10878         * modules/openat (Depends-on): Add inline.
10879         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10880         * doc/posix-functions/stat.texi (stat): Likewise.
10881         * modules/stat-tests: New test.
10882         * tests/test-stat.c: Likewise.
10883
10884 2009-09-19  Jim Meyering  <meyering@redhat.com>
10885
10886         syntax-check: detect unnecessary inclusion of canonicalize.h
10887         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
10888
10889 2009-09-19  Eric Blake  <ebb9@byu.net>
10890
10891         canonicalize-lgpl: adjust clients to use correct header
10892         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10893         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
10894         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
10895         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
10896         * lib/progreloc.c (includes): Likewise.
10897
10898 2009-09-19  Jim Meyering  <meyering@redhat.com>
10899
10900         test-posixtm.c: correct a comment
10901         * tests/test-posixtm.c: Correct first-line comment.
10902         Spotted by Eric Blake.
10903
10904 2009-09-16  Jim Meyering  <meyering@redhat.com>
10905
10906         posixtm-tests: make T const-correct; add a test case
10907         * tests/test-posixtm.c (T): Declare const.
10908         Add a test for -(2^31+1).
10909         Remove useless can-succeed-only-in-2002 test.
10910
10911         posixtm-tests: adjust the sole failing test
10912         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
10913         expected output matches what mktime now produces.  Cross-checked via
10914         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
10915
10916         posixtm: move #ifdef'd tests into a new module
10917         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
10918         * tests/test-posixtm.c: ... this new file.
10919         * modules/posixtm-tests: New module.
10920
10921 2009-09-19  Eric Blake  <ebb9@byu.net>
10922
10923         openat: simplify use of at-func.c
10924         * lib/at-func.c (includes): Include prerequisites here, to
10925         simplify requirements on client files.
10926         * lib/openat-priv.h: Add double-inclusion guard.
10927         * lib/faccessat.c (includes): Simplify.
10928         * lib/fchmodat.c (includes): Likewise.
10929         * lib/fchownat.c (includes): Likewise.
10930         * lib/mkdirat.c (includes): Likewise.
10931         * lib/mkfifoat.c (includes): Likewise.
10932         * lib/symlinkat.c (includes): Likewise.
10933
10934         openat: allow return of fd 0
10935         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
10936         * modules/save-cwd (Depends-on): Replace fcntl-safer with
10937         unistd-safer.
10938         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
10939         <fcntl.h>; this module does not leak fds.
10940         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
10941         must be allowed to return 0, leaving openat_safer to add the
10942         safety.
10943         (openat_permissive): Avoid writing to just-opened fd 2 if
10944         restoring the current directory fails.
10945         * lib/openat-die.c (openat_restore_fail): Add comment.
10946         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
10947         (save_cwd): Guarantee safe fd, but without use of open_safer.
10948         * tests/test-openat.c: New test.
10949         * modules/openat-tests (Files, Makefile.am): Distribute and build
10950         new file.
10951
10952         relocatable-prog-wrapper: fix build
10953         * modules/relocatable-prog-wrapper (Files): Update name of
10954         canonicalize m4 file, broken on 2009-09-17.
10955         Reported by emad hajjar <aleppos@hotmail.com>.
10956
10957 2009-09-19  Bruno Haible  <bruno@clisp.org>
10958
10959         * lib/safe-alloc.h: Use the standard header with GPL copyright.
10960         * lib/safe-alloc.c: Likewise.
10961         Reported by Ian Beckwith <ianb@erislabs.net>.
10962
10963 2009-09-18  Bruno Haible  <bruno@clisp.org>
10964
10965         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
10966         Reported by <erobles@sensacd.com.mx>.
10967
10968 2009-09-17  Eric Blake  <ebb9@byu.net>
10969
10970         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
10971         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
10972         slashes when checking if last component is missing.
10973         * tests/test-canonicalize.c (main): Test this.
10974
10975         canonicalize, canonicalize-lgpl: honor // if distinct from /
10976         * modules/canonicalize (Files): Add double-slash-root.m4.
10977         * modules/canonicalize-lgpl (Files): Likewise.
10978         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10979         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
10980         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
10981         fallback definition.
10982         (canonicalize_filename_mode): Use it to protect //.
10983         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
10984         (__realpath): Likewise.
10985         * tests/test-canonicalize.c (main): Test this.
10986         * tests/test-canonicalize-lgpl.c (main): Likewise.
10987         * modules/canonicalize-tests (Depends-on): Add same-inode.
10988         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10989
10990         canonicalize-lgpl: fix glibc bug with trailing slash
10991         * m4/canonicalize-lgpl.m4: Move contents...
10992         * m4/canonicalize.m4: ...here.
10993         (gl_CANONICALIZE_LGPL): Factor realpath check...
10994         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
10995         glibc 2.3.5 bug, fixed 2005-04-27.
10996         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
10997         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
10998         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
10999         * modules/canonicalize-lgpl (Files): Manage file rename.
11000         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11001         * modules/stdlib (Makefile.am): Substitute witness.
11002         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11003         is needed.
11004         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11005         replacement is required.
11006         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11007         * doc/glibc-functions/canonicalize_file_name.texi
11008         (canonicalize_file_name): Document this.
11009         * doc/posix-functions/realpath.texi (realpath): Likewise.
11010
11011         canonicalize-lgpl: reject non-directory with trailing slash
11012         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11013         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11014         catches failures in glibc 2.3.5.
11015         * tests/test-canonicalize.c (main): Likewise.
11016
11017         canonicalize-lgpl: use native realpath if it works
11018         * lib/canonicalize-lgpl.c (realpath): Guard with
11019         FUNC_REALPATH_WORKS.
11020         * lib/stdlib.in.h (realpath): Make declaration optional based on
11021         HAVE_REALPATH.
11022         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11023         native realpath works.
11024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11025         * modules/stdlib (Makefile.am): Substitute witness.
11026
11027         canonicalize, canonicalize-lgpl: use <stdlib.h>
11028         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11029         (Include): Mention <stdlib.h>.
11030         (configure.ac): Mention functions we provide.
11031         * modules/canonicalize (configure.ac): Likewise.
11032         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11033         realpath if canonicalize_file_name is missing.
11034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11035         * modules/stdlib (Makefile.am): Substitute witnesses.
11036         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11037         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11038         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11039         * NEWS: Document this.
11040         * doc/glibc-functions/canonicalize_file_name.texi
11041         (canonicalize_file_name): Likewise.
11042         * doc/posix-functions/realpath.texi (realpath): Likewise.
11043         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11044
11045         test-canonicalize: consolidate into single C program
11046         * tests/test-canonicalize.sh: Delete; move setup into...
11047         * tests/test-canonicalize.c (main): ...the program, making it
11048         easier to run in debugger.  Add some tests.
11049         * modules/canonicalize-tests (Files): Remove unused file.
11050         (Depends-on): Add progname.
11051         (configure.ac, Makefile.am): Simplify.
11052
11053         test-canonicalize-lgpl: consolidate into single C program
11054         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11055         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11056         easier to run in debugger.  Add some tests.
11057         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11058         (configure.ac, Makefile.am): Simplify.
11059
11060         canonicalize: avoid resolvepath
11061         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11062         unnecessary checks.
11063         * lib/canonicalize.c (includes): Simplify.
11064         (canonicalize_file_name): Drop resolvepath implementation.
11065         * modules/canonicalize (Depends-on): Drop filenamecat.
11066
11067         canonicalize: don't lose errno
11068         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11069         over calls to free.
11070
11071         canonicalize: simplify errno handling
11072         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11073         assignment.
11074
11075         canonicalize, canonicalize-lgpl: update module dependencies
11076         * modules/canonicalize (Depends-on): Add extensions, lstat,
11077         pathmax, stdlib.
11078         (Files): Drop pathmax.h.
11079         (configure.ac): Adjust macro name.
11080         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11081         lstat, stdlib, sys_stat.
11082         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11083         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11084         extensions.
11085         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11086         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11087         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11088         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11089         declaration, if available.
11090         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11091         we can rely on the readlink module.
11092         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11093         (includes): Use <unistd.h> unconditionally.
11094
11095 2009-09-17  Eric Blake  <ebb9@byu.net>
11096
11097         maint: make Include sections of modules consistent
11098         * modules/alloca: Use only header name; no need to list #include.
11099         * modules/alloca-opt: Likewise.
11100         * modules/arpa_inet: Likewise.
11101         * modules/canon-host: Likewise.
11102         * modules/configmake: Likewise.
11103         * modules/dirent: Likewise.
11104         * modules/eealloc: Likewise.
11105         * modules/environ: Likewise.
11106         * modules/fchdir: Likewise.
11107         * modules/fcntl: Likewise.
11108         * modules/fcntl-h: Likewise.
11109         * modules/gethrxtime: Likewise.
11110         * modules/gettime: Likewise.
11111         * modules/ignore-value: Likewise.
11112         * modules/inet_ntop: Likewise.
11113         * modules/inet_pton: Likewise.
11114         * modules/inttypes: Likewise.
11115         * modules/isnand-nolibm: Likewise.
11116         * modules/isnanf-nolibm: Likewise.
11117         * modules/mbchar: Likewise.
11118         * modules/mbfile: Likewise.
11119         * modules/mbiter: Likewise.
11120         * modules/mbuiter: Likewise.
11121         * modules/netdb: Likewise.
11122         * modules/netinet_in: Likewise.
11123         * modules/nproc: Likewise.
11124         * modules/pagealign_alloc: Likewise.
11125         * modules/poll: Likewise.
11126         * modules/printf-frexp: Likewise.
11127         * modules/pthread: Likewise.
11128         * modules/putenv: Likewise.
11129         * modules/random_r: Likewise.
11130         * modules/relocatable-prog: Likewise.
11131         * modules/search: Likewise.
11132         * modules/select: Likewise.
11133         * modules/selinux-h: Likewise.
11134         * modules/settime: Likewise.
11135         * modules/signal: Likewise.
11136         * modules/size_max: Likewise.
11137         * modules/socklen: Likewise.
11138         * modules/ssize_t: Likewise.
11139         * modules/stdarg: Likewise.
11140         * modules/stdbool: Likewise.
11141         * modules/stddef: Likewise.
11142         * modules/stdint: Likewise.
11143         * modules/stdio: Likewise.
11144         * modules/stdlib: Likewise.
11145         * modules/string: Likewise.
11146         * modules/strings: Likewise.
11147         * modules/sys_file: Likewise.
11148         * modules/sys_ioctl: Likewise.
11149         * modules/sys_select: Likewise.
11150         * modules/sys_socket: Likewise.
11151         * modules/sys_stat: Likewise.
11152         * modules/sys_time: Likewise.
11153         * modules/sys_times: Likewise.
11154         * modules/sys_utsname: Likewise.
11155         * modules/sys_wait: Likewise.
11156         * modules/sysexits: Likewise.
11157         * modules/time: Likewise.
11158         * modules/times: Likewise.
11159         * modules/tmpfile: Likewise.
11160         * modules/trim: Likewise.
11161         * modules/unistd: Likewise.
11162         * modules/wchar: Likewise.
11163         * modules/wctype: Likewise.
11164
11165 2009-09-17  Bruno Haible  <bruno@clisp.org>
11166
11167         Make getdate.y compile on QNX and NetBSD 5 / i386.
11168         * m4/getdate.m4 (gl_GETDATE): Conditionally define
11169         TIME_T_FITS_IN_LONG_INT.
11170         * lib/getdate.y (long_time_t): New type.
11171         (relative_time): Change type of 'seconds' field to long_time_t.
11172         (get_date): Update types of local variables. Check against overflow
11173         during conversion from long_time_t to time_t.
11174         Reported by Matt Kraai <kraai@ftbfs.org>
11175         and Hasso Tepper <hasso@netbsd.org>.
11176
11177 2009-09-17  Bruno Haible  <bruno@clisp.org>
11178
11179         * modules/COPYING: Update copyright years.
11180         * modules/README: Likeiwse.
11181         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
11182         Reported by Ian Beckwith <ianb@erislabs.net>.
11183
11184 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11185
11186         * users.txt: Update references for gnuit package.
11187
11188 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11189
11190         * m4/getdelim.m4: Fix typo in copyright line.
11191
11192 2009-09-17  Bruno Haible  <bruno@clisp.org>
11193
11194         * lib/atoll.c: Use the standard header with GPL copyright.
11195         * lib/argz.in.h: Likewise.
11196         * lib/glob.c: Likewise.
11197         * lib/glob-libc.h: Likewise.
11198         * lib/random_r.c: Likewise.
11199         * lib/siglist.h: Likewise.
11200         * lib/strsignal.c: Likewise.
11201         Reported by Ian Beckwith <ianb@erislabs.net>.
11202
11203 2009-09-17  Eric Blake  <ebb9@byu.net>
11204
11205         rmdir: ensure correct dependency order
11206         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11207
11208 2009-09-17  Bruno Haible  <bruno@clisp.org>
11209
11210         Disable assertion that fails on NetBSD 5 / i386.
11211         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11212         Reported by Sam Steingold <sds@gnu.org>
11213         and Hasso Tepper <hasso@netbsd.org>.
11214
11215 2009-09-16  Eric Blake  <ebb9@byu.net>
11216
11217         unlinkdir: port to mingw
11218         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11219         on which no one can unlink a directory.
11220
11221         stdlib: sort witness names
11222         * modules/stdlib (Makefile.am): Sort replacements.
11223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11224         * lib/stdlib.in.h: Likewise.
11225
11226         parse-duration-tests: avoid link failure
11227         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11228         LIBINTL.
11229         Reported by Tom G. Christensen.
11230
11231         openat-tests: ensure unlinkat behaves like rmdir
11232         * tests/test-rmdir.c (main): Factor guts...
11233         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11234         * modules/rmdir-tests (Files): Ship new file.
11235         * modules/openat-tests: New test.
11236         * tests/test-unlinkat.c: Likewise.
11237
11238         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11239         * modules/rmdir-errno (Status, Notice): Now obsolete.
11240
11241         rmdir: work around cygwin 1.5.x and mingw bugs
11242         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11243         * lib/rmdir.c (rmdir): Work around it.
11244         * modules/rmdir (Status, Notice): No longer obsolete.
11245         (Files): Add dos.m4.
11246         (Depends-on): Add unistd.
11247         (configure.ac): Set witnesses.
11248         (License): Relax to LGPLv2+.
11249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11250         * modules/unistd (Makefile.am): Substitute witnesses.
11251         * lib/unistd.in.h (rmdir): Declare replacement.
11252         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11253         * modules/rmdir-tests: New tests.
11254         * tests/test-rmdir.c: Likewise.
11255
11256 2009-09-15  Eric Blake  <ebb9@byu.net>
11257
11258         fchdir: improve use of replacement functions
11259         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11260         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11261         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11262         REPLACE_CLOSEDIR.
11263         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11264         * modules/sys_stat (Makefile.am): Substitute correct witness.
11265         * modules/dirent (Makefile.am): Likewise.
11266         * modules/unistd (Makefile.am): Likewise.
11267         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11268         * lib/unistd.in.h (dup): Likewise.
11269         * lib/sys_stat.in.h (fstat): Likewise.
11270
11271         maint: ignore gnulib-tool temp files
11272         * .gitignore: Ignore files created during gnulib-tool --test.
11273
11274 2009-09-13  Jim Meyering  <meyering@redhat.com>
11275
11276         posixtm: don't reject a time that specify "60" as the number of seconds
11277         * lib/posixtm.c (posixtime): The code to reject invalid dates
11278         would also reject a time specified with the .60 suffix.
11279         But POSIX allows that, in order to accommodate leap seconds.
11280         So don't reject it.
11281         (main): Adjust tests accordingly.
11282         * modules/posixtm (Depends-on): Add stpcpy.
11283
11284 2009-09-11  Jim Meyering  <meyering@redhat.com>
11285
11286         announce-gen: include [$release_type] in emitted Subject:
11287         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11288         e.g., [stable] in the emitted Subject: line.
11289
11290 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11291
11292         Remove obsolete macros from several modules.
11293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11294         obsolete Autoconf macros with their modern counterparts.
11295         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11296         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11297         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11298         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11299         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11300         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11301         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11302         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11303         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11304         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11305         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11306         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11307         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11308         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11309         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11310         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11311         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11312         * m4/time_r.m4 (gl_TIME_R): Likewise.
11313         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11314         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11315         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11316
11317         Fix copyright header in build-aux scripts.
11318         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11319         recommendation.
11320         * build-aux/ncftpput-ftp: Likewise.
11321         * build-aux/update-copyright: Likewise.
11322
11323 2009-09-09  Eric Blake  <ebb9@byu.net>
11324
11325         test-link: allow Linux choice of errno
11326         * tests/test-link.c (main): Relax test for alternate error.
11327
11328         strndup: fix improper m4 caching
11329         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11330         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11331         (gl_PREREQ_STRNDUP): Delete.
11332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11333         * modules/string (Makefile.am): Substitute it.
11334         * lib/string.in.h (strndup): Modernize prototype.
11335
11336         getcwd: port to mingw
11337         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11338         different from the POSIX assumptions made throughout the getcwd
11339         module; fortunately, the mingw getcwd does not need replacement.
11340         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11341         * modules/getcwd-tests: New test.
11342         * tests/test-getcwd.c: Likewise.
11343
11344         link: fix platform bugs
11345         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11346         * lib/link.c (link): Work around them.  Fix related mingw bug.
11347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11348         * modules/unistd (Makefile.am): Substitute it.
11349         * lib/unistd.in.h (link): Declare replacement.
11350         * doc/posix-functions/link.texi (link): Document this.
11351         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11352
11353         test-link: consolidate into single C program, test more cases
11354         * tests/test-link.sh: Delete.
11355         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11356         at least Cygwin and Solaris.
11357         * modules/link-tests (Files): Remove unused file.
11358         (Depends-on): Add errno, sys_stat.
11359         (Makefile.am): Simplify.
11360
11361 2009-09-08  Bruno Haible  <bruno@clisp.org>
11362
11363         Work around towlower, towupper bug on mingw.
11364         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11365         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11366         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11367         * doc/posix-functions/towupper.texi: Likewise.
11368         Reported by Eric Blake.
11369
11370 2009-09-08  Jim Meyering  <meyering@redhat.com>
11371
11372         build: don't try to run autoheader if we don't use it
11373         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11374         is not used in configure.ac.
11375
11376 2009-09-08  Eric Blake  <ebb9@byu.net>
11377
11378         euidaccess: fix compilation error
11379         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11380
11381         rawmemchr: relax license
11382         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11383         okay.
11384         Reported by Jim Meyering.
11385
11386         mkfifoat: new module
11387         * modules/mkfifoat: New file.
11388         * lib/mkfifoat.c: Likewise.
11389         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11390         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11391         * modules/sys_stat (Makefile.am): Use them.
11392         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11393         * MODULES.html.sh (File system functions): Mention module.
11394         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11395         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11396         * modules/mkfifoat-tests: New test.
11397         * tests/test-mkfifoat.c: Likewise.
11398
11399         strchrnul: relax license
11400         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11401         okay.
11402         Reported by Jim Meyering.
11403
11404 2009-09-08  Eric Blake  <ebb9@byu.net>
11405
11406         fstatat: fix compilation on Solaris
11407         * lib/fstatat.c (includes): Add fcntl.h.
11408         Reported by Pádraig Brady.
11409
11410 2009-09-07  Eric Blake  <ebb9@byu.net>
11411
11412         rename: modernize replacement
11413         * modules/rename (Depends-on): Add stdio.
11414         (configure.ac): Declare witness.
11415         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11416         stdio take care of replacement.
11417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11418         * modules/stdio (Makefile.am): Substitute them.
11419         * lib/stdio.in.h (rename): Declare replacement.
11420         * lib/rename.c (includes): Allow cross-compilation to non-windows
11421         machines.
11422         * doc/posix-functions/rename.texi (rename): Improve
11423         documentation.
11424
11425         stdio: sort witness names
11426         * modules/stdio (Makefile.am): Sort replacements.
11427         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11428         * lib/stdio.in.h: Likewise.
11429
11430         getcwd: minor cleanups
11431         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11432         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11433
11434         openat: provide more convenience names
11435         * modules/faccessat (configure.ac): Add C witness.
11436         * lib/unistd.in.h (readlinkat): Fix typo.
11437         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11438         convenience wrappers.
11439         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11440         wrappers in syntax checks.
11441
11442 2009-09-06  Eric Blake  <ebb9@byu.net>
11443
11444         doc: fix comments in recent patches
11445         * lib/faccessat.c: Mention correct function.
11446         * lib/fchmodat.c: Likewise.
11447         * lib/fchownat.c: Likewise.
11448         * lib/symlinkat.c: Likewise.
11449         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11450         constants.
11451
11452         faccessat, symlinkat: continue cleanup of previous patch
11453         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11454         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11455         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11457         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11458         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11459         set.
11460
11461 2009-09-06  Bruno Haible  <bruno@clisp.org>
11462
11463         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11464         (fstatat): Declare if GNULIB_FSTATAT is set.
11465         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11466         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11467         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11468         * modules/fcntl-h (Files): Remove m4/openat.m4.
11469         * modules/sys_stat (Files): Remove m4/openat.m4.
11470         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11471         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11472         * modules/unistd (Files): Remove m4/openat.m4.
11473         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11474         GNULIB_OPENAT.
11475         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11476         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11477         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11478         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11479         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11480         gl_OPENAT_DEFAULTS.
11481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11482         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11483         Don't require gl_OPENAT_DEFAULTS.
11484         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11485         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11486         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11487         (gl_OPENAT_DEFAULTS): Remove macro.
11488
11489 2009-09-06  Bruno Haible  <bruno@clisp.org>
11490
11491         * modules/openat (configure.ac): Remove unneeded witness.
11492
11493 2009-09-06  Bruno Haible  <bruno@clisp.org>
11494
11495         Set errno to ENOSYS when a function is entirely unsupported.
11496         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11497         EOPNOTSUPP.
11498         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11499         * modules/chown (Depends-on): Remove errno.
11500
11501 2009-09-06  Bruno Haible  <bruno@clisp.org>
11502
11503         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11504
11505 2009-09-06  Bruno Haible  <bruno@clisp.org>
11506
11507         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11508
11509 2009-09-06  Ben Pfaff  <blp@gnu.org>
11510             Bruno Haible  <bruno@clisp.org>
11511
11512         Work around a glibc bug in strtok_r.
11513         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11514         Undefine if UNDEFINE_STRTOK_R is set.
11515         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11517         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11518         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11519         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11520         UNDEFINE_STRTOK_R.
11521         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11522
11523 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11524
11525         exclude: minor fix
11526         * lib/exclude.c: Include wctype.h
11527
11528 2009-09-06  Akim Demaille  <demaille@gostai.com>
11529
11530         bootstrap: improve error message
11531         * build-aux/bootstrap (find_tool): Upon failure, report the list
11532         of candidates.
11533         Honor the initial value of the envvar.
11534
11535 2009-09-05  Eric Blake  <ebb9@byu.net>
11536
11537         symlinkat: new module
11538         * modules/symlinkat: New file.
11539         * lib/symlinkat.c: Likewise.
11540         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11542         * modules/unistd (Makefile.am): Use them.
11543         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11544         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11545         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11546         * MODULES.html.sh (File system functions): Mention module.
11547         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11548         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11549         * modules/symlinkat-tests: New test.
11550         * tests/test-symlinkat.c: Likewise.
11551
11552         test-openat-safer: add more checks
11553         * tests/test-openat-safer.c (main): Check more code paths.
11554
11555 2009-09-05  Jim Meyering  <meyering@redhat.com>
11556
11557         syntax-check: detect unnecessary inclusion of openat.h
11558         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11559
11560 2009-09-05  Bruno Haible  <bruno@clisp.org>
11561
11562         Support towlower, towupper.
11563         * doc/posix-functions/towlower.texi: Mention module wctype.
11564         * doc/posix-functions/towupper.texi: Likewise.
11565         * lib/wctype.in.h (towlower, towupper): New functions.
11566         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11567         (ASSERT): New macro.
11568         (e): New variable.
11569         (main): Test also towlower, towupper. Test WEOF argument.
11570         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11571
11572 2009-09-05  Bruno Haible  <bruno@clisp.org>
11573
11574         Fix conversion behaviour when the input is invalid.
11575         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11576         mark occurring in first pass of indirect conversion.
11577         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11578         input.
11579         Found by clang's static analyzer.
11580
11581 2009-09-05  Bruno Haible  <bruno@clisp.org>
11582
11583         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11584         where direct conversion is possible.
11585
11586 2009-09-04  Eric Blake  <ebb9@byu.net>
11587
11588         openat: fail with ENOENT on empty name
11589         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11590         buffer.
11591
11592         link-follow: fix logic bug in prior patch
11593         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11594         reversed sense of yes and no in prior patch.  Avoid confusing
11595         compilation failure with desired semantics.
11596
11597         link-follow: accomodate mingw and cross-compilation
11598         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11599         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11600         cross-compilation results to -1, to make linkat easier to
11601         implement when cross-compiling.  Trivially support mingw.
11602         * modules/link-follow (configure.ac): Call new name.
11603         * NEWS: Mention this.
11604
11605 2009-09-03  Eric Blake  <ebb9@byu.net>
11606
11607         faccessat: compile replacement
11608         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11609         needed.
11610
11611         fts: fix compilation error
11612         * lib/fts.c (includes): Re-add "openat.h", for
11613         openat_needs_fchdir.
11614
11615         faccessat: new module
11616         * modules/faccessat: New file.
11617         * lib/faccessat.c: Likewise.
11618         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11620         * modules/unistd (Makefile.am): Use it.
11621         * lib/unistd.in.h (faccessat): Declare it.
11622         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11623         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11624         * MODULES.html.sh (File system functions): Mention it.
11625         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11626         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11627
11628         euidaccess: prefer POSIX over non-standard implementation
11629         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11630         * lib/euidaccess.c (euidaccess): Use it if available.
11631
11632         openat: make template easier to use
11633         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11634         AT_FUNC_F2 to be undefined.
11635         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11636         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11637         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11638         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
11639         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
11640         Likewise.
11641         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
11642         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
11643         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
11644         Likewise.
11645
11646         openat: declare in POSIX headers
11647         * NEWS: Mention this.
11648         * modules/openat (configure.ac): Declare witnesses.
11649         (Depends-on): Add fcntl-h, sys_stat, unistd.
11650         (Include): Mention correct headers.
11651         * modules/fcntl-h (Depends-on): Add link-warning.
11652         (Files): Add openat.m4.
11653         (Makefile.am): Substitute witnesses.
11654         * modules/sys_stat (Files, Makefile.am): Likewise.
11655         * modules/unistd (Files, Makefile.am): Likewise.
11656         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
11657         (gl_OPENAT_DEFAULTS): New macro.
11658         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
11659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
11660         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
11661         (SYS_STAT_H): Remove unused variable.
11662         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
11663         * lib/fcntl--.h (includes): Remove unneeded header.
11664         * lib/openat-safer.c (includes): Likewise.
11665         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
11666         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
11667         appropriate headers.
11668         (__OPENAT_PREFIX): Delete.
11669         * lib/fcntl.in.h (openat): Provide declaration.
11670         (AT_FDCWD): Fix Solaris bug.
11671         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
11672         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
11673         * lib/fchmodat.c (includes):  Adjust to find declaration.
11674         * lib/fchownat.c (includes): Likewise.
11675         * lib/mkdirat.c (includes): Likewise.
11676         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
11677         still visible.
11678
11679 2009-09-02  Eric Blake  <ebb9@byu.net>
11680
11681         errno: use consistently
11682         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
11683         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
11684         * lib/canonicalize.c (ELOOP): Likewise.
11685         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
11686         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
11687         * lib/lchown.c (EOPNOTSUPP): Likewise.
11688         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
11689         * lib/savewd.c (ESTALE): Likewise.
11690         * lib/settime.c (ENOSYS): Likewise.
11691         * lib/utimens.c (ENOSYS): Likewise.
11692         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
11693         * lib/chdir-safer.c (ELOOP): Likewise.
11694         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
11695         * modules/c-stack (Depends-on): Add errno.
11696         * modules/canonicalize (Depends-on): Likewise.
11697         * modules/chdir-safer (Depends-on): Likewise.
11698         * modules/fdopendir (Depends-on): Likewise.
11699         * modules/inet_ntop (Depends-on): Likewise.
11700         * modules/inet_pton (Depends-on): Likewise.
11701         * modules/lchown (Depends-on): Likewise.
11702         * modules/openat (Depends-on): Likewise.
11703         * modules/savewd (Depends-on): Likewise.
11704         * modules/settime (Depends-on): Likewise.
11705         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
11706
11707         fts: avoid leaking fds
11708         * modules/fts (Depends-on): Add cloexec.
11709         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
11710         flag.
11711
11712         fts: make directory fds more robust
11713         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
11714         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
11715
11716         backupfile, chdir-long, fts, savedir: make safer
11717         * lib/backupfile.c (includes): Use "dirent--.h", since
11718         numbered_backup can write to stderr during readdir.
11719         * lib/savedir.c (includes): Likewise.
11720         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
11721         emulation can write to stderr on failure.
11722         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
11723         * lib/getcwd.c: Document why opendir_safer is unused.
11724         * lib/glob.c: Likewise.
11725         * lib/scandir.c: Likewise.
11726         * lib/openat-proc.c: Likewise, for open_safer.
11727         * modules/backupfile (Depends-on): Add dirent-safer.
11728         * modules/savedir (Depends-on): Likewise.
11729         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
11730         * modules/chdir-long (Depends-on): Add openat-safer.
11731
11732         openat-safer: new module
11733         * modules/openat-safer: New file.
11734         * lib/openat-safer.c: Likewise.
11735         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
11736         * lib/fcntl-safer.h (openat_safer): Declare.
11737         * lib/fcntl--.h (openat): Override.
11738         * MODULES.html.sh (File descriptor based I/O): Mention it.
11739         * lib/openat.h: Add double-inclusion guards.
11740         * lib/openat.c (includes): Only include "fcntl-safer.h", not
11741         "fcntl--.h", so we can implement openat.
11742         * modules/openat-safer-tests: New test.
11743         * tests/test-openat-safer.c: New file.
11744
11745         dirent-safer: new module
11746         * modules/dirent-safer: New file.
11747         * lib/dirent--.h: Likewise.
11748         * lib/dirent-safer.h: Likewise.
11749         * lib/opendir-safer.c: Likewise.
11750         * m4/dirent-safer.m4: Likewise.
11751         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
11752         * modules/dirent-safer-tests: New test.
11753         * tests/test-dirent-safer.c: New file.
11754         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
11755
11756         fdopendir: optimize on mingw
11757         * lib/unistd.in.h (_gl_directory_name): New prototype.
11758         * lib/fchdir.c (_gl_directory_name): Implement it.
11759         (fchdir): Use it to simplify implementation.
11760         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
11761         fchdir, when available, to avoid calling [f]chdir().
11762
11763         fdopendir: split into its own module
11764         * lib/openat.c (fdopendir): Move...
11765         * lib/fdopendir.c: ...into new file.
11766         * modules/fdopendir: New module.
11767         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
11768         * modules/openat (Depends-on): Add fdopendir.
11769         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
11770         fdopendir here.
11771         * modules/savedir (Depends-on): Only need fdopendir, not full
11772         openat.
11773         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
11774         * lib/openat.h (fdopendir): Drop prototype.
11775         * lib/dirent.in.h (fdopendir): Provide prototype.
11776         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
11777         * modules/dirent (Makefile.am): Substitute them.
11778         * MODULES.html.sh (File system functions): Mention it.
11779         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
11780         * modules/fdopendir-tests: New file.
11781         * tests/test-fdopendir.c: Likewise.
11782
11783         fchdir: use more consistent macro convention
11784         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
11785         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
11786         REPLACE_FCHDIR, rather than relying on config.h macros.
11787         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
11788         inside a single make-time REPLACE_FCHDIR block, rather than using
11789         the config.h FCHDIR_REPLACEMENT.
11790         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
11791         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
11792         Manage fstat replacement.
11793         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
11794         REPLACE_FCHDIR.
11795         * modules/sys_stat (Files): Add m4/unistd_h.m4.
11796         (Makefile.am): Substitute REPLACE_FCHDIR.
11797         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
11798         FCHDIR_REPLACEMENT.
11799         * lib/dup-safer.c (dup_safer): Likewise.
11800         * lib/dup2.c (rpl_dup2): Likewise.
11801         * lib/dup3.c (rpl_dup3): Likewise.
11802         * lib/open.c (rpl_open): Likewise.
11803
11804         fchdir: simplify error handling, and support dup3
11805         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
11806         stdbool, malloc-posix, realloc-posix.
11807         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
11808         (ensure_dirs_slot): Return false on allocation failure.
11809         (rpl_dup2): Delete.
11810         (_gl_register_dup): New function.
11811         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
11812         (_gl_register_fd): Close fd on allocation failure.
11813         * lib/fcntl.in.h (_gl_register_fd): Update signature.
11814         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
11815         prototype.
11816         (rpl_dup2_fchdir): Delete prototype.
11817         * lib/open.c (open): Update caller.
11818         * lib/dup2.c (dup2): Track fchdir metadata.
11819         * lib/dup3.c (dup3): Likewise.
11820         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
11821         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
11822
11823 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11824
11825         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
11826         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
11827         don't pass arguments to AC_OUTPUT.
11828
11829 2009-09-02  Bruno Haible  <bruno@clisp.org>
11830
11831         * modules/mkdtemp (License): Relicense under LGPLv2+.
11832         Reported by Paolo Bonzini.
11833
11834 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11835
11836         Replace uses of obsolete autoconf macros in Jim's modules.
11837         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
11838         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
11839         can evoke a warning from autoconf when run with -Wobsolete
11840         enabled.  They were declared obsolete for good reasons (see
11841         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
11842         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
11843         should not continue using the deprecated macros.
11844         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
11845         obsolete Autoconf macros with modern counterparts.
11846         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11847         * m4/dos.m4 (gl_AC_DOS): Likewise.
11848         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
11849         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11850         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
11851         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
11852         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
11853         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
11854         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
11855         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
11856         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
11857         Likewise.
11858         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11859         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
11860         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
11861         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
11862         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11863         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
11864
11865 2009-09-01  Eric Blake  <ebb9@byu.net>
11866
11867         fchdir: fix off-by-one bug in previous patch
11868         * lib/fchdir.c (rpl_fstat): Use correct bounds.
11869         (_gl_unregister_fd): Delete useless if.
11870
11871 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
11872
11873         maint.mk: sort the list of syntax-check rules
11874         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
11875         easier to get a sense of progress when the rules are run sequentially
11876         and take a long time.
11877
11878 2009-09-01  Simon Josefsson  <simon@josefsson.org>
11879
11880         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
11881         * modules/netinet_in: Likewise.
11882         * modules/sys_file: Likewise.
11883         * modules/sys_ioctl: Likewise.
11884         * modules/sys_select: Likewise.
11885         * modules/sys_socket: Likewise.
11886         * modules/sys_stat: Likewise.
11887         * modules/sys_time: Likewise.
11888         * modules/sys_times: Likewise.
11889         * modules/sys_utsname: Likewise.
11890         * modules/sys_wait: Likewise.
11891
11892 2009-09-01  Jim Meyering  <meyering@redhat.com>
11893
11894         fts: help ensure that return values are not ignored
11895         * lib/fts_.h (__GNUC_PREREQ): Define.
11896         (__attribute_warn_unused_result__): Define.
11897         (fts_children, fts_close, fts_open, fts_read): Declare with
11898         __attribute_warn_unused_result__.
11899
11900         fts: fts_close now fails also when closing a dir file descriptor fails
11901         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
11902         and propagate to caller, along with errno.
11903
11904         announce-gen: correct formatting in --help output
11905         * build-aux/announce-gen (usage): Move the one-line description in
11906         --help output "up", to where it belongs, just after Usage:.
11907
11908 2009-08-31  Eric Blake  <ebb9@byu.net>
11909
11910         fchdir: port to mingw
11911         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
11912         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
11913         opened, then use a substitute.
11914         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
11915         replacement.
11916         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
11917         (_gl_register_fd): No need to check stat if open already filters
11918         all directories.
11919         (fchdir): Fix error condition to match POSIX.
11920         * modules/fchdir (Depends-on): Add sys_stat.
11921         * doc/posix-functions/open.texi (open): Document the limitation.
11922         * modules/fchdir-tests: New file.
11923         * tests/test-fchdir.c: Likewise.
11924
11925         canonicalize: allow cross-testing from cygwin to mingw
11926         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
11927         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
11928         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
11929         Likewise.
11930         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
11931         target does not support symlinks.
11932         * tests/test-canonicalize-lgpl.sh: Likewise.
11933
11934         chown: avoid compilation warning on mingw
11935         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
11936         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
11937         mingw.
11938         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11939         * modules/chown (Depends-on): Add errno.
11940
11941 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11942
11943         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
11944         command.
11945
11946 2009-08-31  Jim Meyering  <meyering@redhat.com>
11947
11948         canonicalize: remove useless initialization
11949         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
11950         initialization of local, "end".
11951
11952 2009-08-30  Bruno Haible  <bruno@clisp.org>
11953
11954         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
11955         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
11956         ENOSYS.
11957
11958 2009-08-30  Bruno Haible  <bruno@clisp.org>
11959
11960         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
11961         /usr/xpg4/bin/tr when it exists.
11962         * tests/test-pipe-filter-gi1.sh: Likewise.
11963
11964 2009-08-30  Bruno Haible  <bruno@clisp.org>
11965
11966         Work around deficient /usr/bin/id program on Solaris.
11967         * tests/test-file-has-acl.sh (ID): New variable.
11968         * tests/test-set-mode-acl.sh (ID): Likewise.
11969         * tests/test-copy-acl.sh (ID): Likewise.
11970         * tests/test-copy-file.sh (ID): Likewise.
11971
11972 2009-08-30  Bruno Haible  <bruno@clisp.org>
11973
11974         New module 'xstriconveh'.
11975         * lib/xstriconveh.h: New file.
11976         * lib/xstriconveh.c: New file.
11977         * modules/xstriconveh: New file.
11978
11979 2009-08-30  Bruno Haible  <bruno@clisp.org>
11980
11981         Make it easier to use mem_cd_iconveh.
11982         * lib/striconveh.h (iconveh_t): New type.
11983         (iconveh_open, iconveh_close): New declarations.
11984         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
11985         with a single 'const iconveh_t *' argument.
11986         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
11987         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
11988         with a single 'const iconveh_t *' argument.
11989         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
11990         * tests/test-striconveh.c (main): Update.
11991         * NEWS: Mention the change.
11992
11993 2009-08-30  Bruno Haible  <bruno@clisp.org>
11994
11995         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
11996         problem.
11997
11998 2009-08-30  Bruno Haible  <bruno@clisp.org>
11999
12000         Work around iconv_open problem on Solaris.
12001         * lib/iconv_open-solaris.gperf: New file.
12002         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12003         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12004         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12005         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12006         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12007         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12008
12009 2009-08-29  Jim Meyering  <meyering@redhat.com>
12010
12011         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12012         * top/maint.mk (cvs-check): Remove target; it was just an alias
12013         to the better-named vc-diff-check.
12014         (maintainer-distcheck): Remove rule.  It was used only from
12015         the (alpha/beta/major) target, and all of its commands but one
12016         were coreutils-specific.
12017         (vc-dist): Remove rule.
12018         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12019         Run vc-diff-check, not vc-dist.
12020         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12021
12022 2009-08-27  Bruno Haible  <bruno@clisp.org>
12023
12024         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12025         of 0.
12026
12027 2009-08-27  Bruno Haible  <bruno@clisp.org>
12028
12029         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12030         compilers.
12031         * doc/func.texi: Document the SunPRO C bug.
12032
12033 2009-08-27  Bruno Haible  <bruno@clisp.org>
12034
12035         Fix link error on Solaris.
12036         * tests/test-parse-duration.c (xstrdup): Remove function.
12037
12038 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12039
12040         ignore-value: handle pointer types, too
12041         * lib/ignore-value.h (__attribute__): Remove definition.
12042         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12043         of a more concise and more-often effective "(void) i" statement.
12044         (ignore_ptr): New function to suppress warnings from functions that
12045         return pointers, and to make it explicit that one function doesn't
12046         handle all cases.
12047
12048 2009-08-25  Bruno Haible  <bruno@clisp.org>
12049
12050         dup2: work around a Linux bug.
12051         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12052         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12053         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12054         Reported by Simon Josefsson.
12055
12056 2009-08-25  Jim Meyering  <meyering@redhat.com>
12057
12058         libguestfs uses gnulib
12059         * users.txt: Add libguestfs.
12060
12061 2009-08-24  Eric Blake  <ebb9@byu.net>
12062
12063         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12064         * lib/pipe2.c (includes): Add binary-io.h.
12065         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12066
12067 2009-08-24  Bruno Haible  <bruno@clisp.org>
12068
12069         Tolerate declared but missing accept4 syscall.
12070         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12071         available.
12072         * lib/sys_socket.in.h (accept4): If the function is already present,
12073         override it.
12074         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12075         * modules/accept4 (Makefile.am): Compile accept4.c always.
12076         Reported by Paolo Bonzini and Eric Blake.
12077
12078 2009-08-23  Bruno Haible  <bruno@clisp.org>
12079
12080         New module 'accept4'.
12081         * lib/sys_socket.in.h (accept4): New declaration.
12082         * lib/accept4.c: New file.
12083         * m4/accept4.m4: New file.
12084         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12085         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12086         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12087         HAVE_ACCEPT4.
12088         * modules/accept4: New file.
12089         * doc/glibc-functions/accept4.texi: Mention the new module.
12090
12091 2009-08-24  Jim Meyering  <meyering@redhat.com>
12092
12093         progname: also set global program_invocation_name, when possible
12094         Before this change, a libtool-enabled program that calls glibc's
12095         error function would report the program name as
12096         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12097         * modules/progname (configure.ac): Check for a declaration of
12098         program_invocation_name.
12099         * lib/progname.c:  Include <errno.h>.
12100         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12101         Set program_invocation_name.
12102
12103 2009-08-23  Bruno Haible  <bruno@clisp.org>
12104
12105         * lib/dup3.c: Include <string.h>.
12106
12107 2009-08-23  Bruno Haible  <bruno@clisp.org>
12108
12109         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12110         * lib/pipe2.c (pipe2): Likewise.
12111         Suggested by Eric Blake.
12112
12113 2009-08-23  Bruno Haible  <bruno@clisp.org>
12114
12115         Tolerate declared but missing dup3 syscall.
12116         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12117         * lib/unistd.in.h (dup3): If the function is already present,
12118         override it.
12119         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12120         * modules/dup3 (Makefile.am): Compile dup3.c always.
12121         Reported by Paolo Bonzini.
12122
12123 2009-08-23  Bruno Haible  <bruno@clisp.org>
12124
12125         Tolerate declared but missing pipe2 syscall.
12126         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12127         available.
12128         * lib/unistd.in.h (pipe2): If the function is already present,
12129         override it.
12130         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12131         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12132         Reported by Paolo Bonzini.
12133
12134 2009-08-23  Bruno Haible  <bruno@clisp.org>
12135
12136         * lib/pipe2.c (pipe2): Move #ifs inside function.
12137
12138 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12139
12140         quotearg: document limitations of quote_these_too
12141         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12142         those limitations are created.
12143         * lib/quotearg.h (set_char_quoting): Document that digits and
12144         letters that are special after backslash are not permitted.
12145         (quotearg_char): Cross-reference set_char_quoting documentation.
12146
12147 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12148
12149         quotearg: implement custom_quoting_style
12150         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12151         right_quote fields.
12152         (set_custom_quoting): New public function.
12153         (quotearg_buffer_restyled): Add left_quote and right_quote
12154         arguments, handle them very much like locale quoting, and update
12155         all uses.
12156         (quotearg_n_custom): New public function.
12157         (quotearg_n_custom_mem): New public function.
12158         (quotearg_custom): New public function.
12159         (quotearg_custom_mem): New public function.
12160         * lib/quotearg.h: Prototype and document new public functions.
12161         (enum quoting_style): For escape_quoting_style and
12162         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
12163         ignored even though they're otherwise like c_quoting_style.
12164         Add custom_quoting_style member and document with comparison to
12165         clocale_quoting_style.
12166         * tests/test-quotearg.c (custom_quotes): New array.
12167         (custom_results): New array.
12168         (main): Extend to test custom quoting.
12169
12170 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12171
12172         quotearg: fix right quote escaping when it's in quote_these_too
12173         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
12174         quote, be sure to prepend only one backslash.
12175         * tests/test-quotearg.c (use_quote_double_quotes): New function.
12176         (main): Test it.
12177
12178 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12179
12180         quotearg-tests: test escaping of embedded locale quotes
12181         * tests/test-quotearg.c (struct result_strings): Add member for
12182         new input.
12183         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
12184         (inputs): Add new input.
12185         (results_g): Add expected results.
12186         (flag_results): Likewise.
12187         (locale_results): Likewise.
12188         (compare_strings): Check those.
12189
12190 2009-08-23  Bruno Haible  <bruno@clisp.org>
12191
12192         Tests for module 'dup3'.
12193         * modules/dup3-tests: New file.
12194         * tests/test-dup3.c: New file.
12195
12196         New module 'dup3'.
12197         * lib/unistd.in.h (dup3): New declaration.
12198         * lib/dup3.c: New file.
12199         * m4/dup3.m4: New file.
12200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12201         HAVE_DUP3.
12202         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12203         * modules/dup3: New file.
12204         * doc/glibc-functions/dup3.texi: Mention the new module.
12205
12206 2009-08-23  Bruno Haible  <bruno@clisp.org>
12207
12208         Tweak the dup2 test.
12209         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12210         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12211         the test file is still empty. Fix argument order of lseek.
12212
12213 2009-08-23  Bruno Haible  <bruno@clisp.org>
12214
12215         Avoid test link errors when the modules getopt-gnu, gettext are used.
12216         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12217         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12218
12219 2009-08-23  Bruno Haible  <bruno@clisp.org>
12220
12221         Fix getdtablesize() on mingw.
12222         * lib/getdtablesize.c (getdtablesize): Implement differently.
12223         * lib/unistd.in.h (getdtablesize): Improve comment.
12224
12225 2009-08-23  Bruno Haible  <bruno@clisp.org>
12226
12227         New module 'mkostemp'.
12228         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12229         * lib/stdlib.in.h (mksotemp): New declaration.
12230         * lib/mkostemp.c: New file, from glibc with modifications.
12231         * lib/tempname.h (GT_FILE): Remove outdated comment.
12232         (gen_tempname): Add flags argument.
12233         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12234         (__GT_FILE): Map to 1.
12235         (small_open, large_open): Remove macros.
12236         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12237         * lib/mkstemp.c (mkstemp): Update.
12238         * lib/mkdtemp.c (mkdtemp): Likewise.
12239         * m4/mkostemp.m4: New file.
12240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12241         HAVE_MKOSTEMP.
12242         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12243         HAVE_MKOSTEMP.
12244         * modules/mkostemp: New file, based on modules/mkstemp.
12245         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12246         * NEWS: Mention the change.
12247
12248 2009-08-23  Bruno Haible  <bruno@clisp.org>
12249
12250         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12251         Reported by Eric Blake.
12252
12253 2009-08-23  Bruno Haible  <bruno@clisp.org>
12254
12255         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12256         Reported by Eric Blake.
12257
12258 2009-08-23  Bruno Haible  <bruno@clisp.org>
12259
12260         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12261         * modules/pipe2 (Depends-on): Likewise.
12262
12263 2009-08-23  Eric Blake  <ebb9@byu.net>
12264
12265         fcntl-h: add O_TTY_INIT support
12266         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12267         * tests/test-fcntl-h.c (o): Test it.
12268         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12269
12270         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12271         * modules/fcntl: Move <fcntl.h> header replacement...
12272         * modules/fcntl-h: ...to new name, so as not to collide with
12273         like-named function.
12274         * tests/test-fcntl.c: Rename...
12275         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12276         * modules/fcntl-tests: Rename...
12277         * modules/fcntl-h-tests: ...to this.  Update test file name.
12278         * modules/chdir-long (Depends-on): Update clients.
12279         * modules/chdir-safer (Depends-on): Likewise.
12280         * modules/fcntl-safer (Depends-on): Likewise.
12281         * modules/fts (Depends-on): Likewise.
12282         * modules/mkancesdirs (Depends-on): Likewise.
12283         * modules/mkdir-p (Depends-on): Likewise.
12284         * modules/open (Depends-on): Likewise.
12285         * modules/savewd (Depends-on): Likewise.
12286         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12287         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12288
12289 2009-08-22  Bruno Haible  <bruno@clisp.org>
12290
12291         * modules/binary-io (License): Relicense under LGPL.
12292         * modules/pipe2 (License): Likewise.
12293
12294 2009-08-22  Bruno Haible  <bruno@clisp.org>
12295
12296         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12297         return value.
12298         * lib/pipe-filter-gi.c (filter_init): Likewise.
12299         Reported by Eric Blake.
12300
12301 2009-08-22  Bruno Haible  <bruno@clisp.org>
12302
12303         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12304         * modules/pipe (Depends-on): Add pipe2.
12305
12306 2009-08-22  Bruno Haible  <bruno@clisp.org>
12307
12308         Tests for module 'pipe2'.
12309         * modules/pipe2-tests: New file.
12310         * tests/test-pipe2.c: New file.
12311
12312         New module 'pipe2'.
12313         * lib/unistd.in.h (pipe2): New declaration.
12314         * lib/pipe2.c: New file.
12315         * m4/pipe2.m4: New file.
12316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12317         HAVE_PIPE2.
12318         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12319         * modules/pipe2: New file.
12320         * doc/glibc-functions/pipe2.texi: Mention the new module.
12321
12322 2009-08-22  Bruno Haible  <bruno@clisp.org>
12323
12324         Reference some new glibc functions.
12325         * doc/glibc-functions/accept4.texi: New file.
12326         * doc/glibc-functions/dup3.texi: New file.
12327         * doc/glibc-functions/mkostemp.texi: New file.
12328         * doc/glibc-functions/pipe2.texi: New file.
12329         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12330         (Glibc sys/socket.h): Refer to accept4.
12331         (Glibc unistd.h): Refer to dup3, pipe2.
12332         Reported by Eric Blake.
12333
12334 2009-08-22  Jim Meyering  <meyering@redhat.com>
12335             Bruno Haible  <bruno@clisp.org>
12336
12337         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12338         This makes it so packages using automake-1.11's silent-rules option
12339         can print e.g., a single "GEN    configmake.h" line, rather than
12340         the 30+ statements that perform the job.  If you want to see the
12341         actual commands, you can still run "make V=1".
12342         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12343         so that make output is abbreviated when those variables are defined
12344         appropriately.
12345         * modules/argz: Likewise.
12346         * modules/arpa_inet: Likewise.
12347         * modules/byteswap: Likewise.
12348         * modules/configmake: Likewise.
12349         * modules/dirent: Likewise.
12350         * modules/errno: Likewise.
12351         * modules/fcntl: Likewise.
12352         * modules/float: Likewise.
12353         * modules/fnmatch: Likewise.
12354         * modules/getopt-posix: Likewise.
12355         * modules/glob: Likewise.
12356         * modules/iconv_open: Likewise.
12357         * modules/inttypes: Likewise.
12358         * modules/localcharset: Likewise.
12359         * modules/locale: Likewise.
12360         * modules/math: Likewise.
12361         * modules/netdb: Likewise.
12362         * modules/netinet_in: Likewise.
12363         * modules/poll: Likewise.
12364         * modules/posix_spawnp-tests: Likewise.
12365         * modules/sched: Likewise.
12366         * modules/search: Likewise.
12367         * modules/selinux-h: Likewise.
12368         * modules/signal: Likewise.
12369         * modules/spawn: Likewise.
12370         * modules/stdarg: Likewise.
12371         * modules/stdbool: Likewise.
12372         * modules/stddef: Likewise.
12373         * modules/stdint: Likewise.
12374         * modules/stdio: Likewise.
12375         * modules/stdlib: Likewise.
12376         * modules/string: Likewise.
12377         * modules/strings: Likewise.
12378         * modules/sys_file: Likewise.
12379         * modules/sys_ioctl: Likewise.
12380         * modules/sys_select: Likewise.
12381         * modules/sys_socket: Likewise.
12382         * modules/sys_stat: Likewise.
12383         * modules/sys_time: Likewise.
12384         * modules/sys_times: Likewise.
12385         * modules/sys_utsname: Likewise.
12386         * modules/sys_wait: Likewise.
12387         * modules/sysexits: Likewise.
12388         * modules/time: Likewise.
12389         * modules/unistd: Likewise.
12390         * modules/wchar: Likewise.
12391         * modules/wctype: Likewise.
12392
12393 2009-08-22  Jim Meyering  <meyering@redhat.com>
12394
12395         announce-gen: detect write failure
12396         * build-aux/announce-gen: Add Coda at end.
12397         Remove equivalent-but-more-verbose block at top.
12398
12399 2009-08-19  Akim Demaille  <demaille@gostai.com>
12400
12401         bootstrap: --help to stdout.
12402         * bootstrap (usage): Don't send --help to stderr.
12403         Use a here doc instead of a long string.
12404
12405 2009-08-21  Eric Blake  <ebb9@byu.net>
12406
12407         test-popen-safer: split from test-popen
12408         * tests/test-popen.c (main): Move...
12409         * tests/test-popen.h: ...into new file.
12410         * tests/test-popen-safer2.c: New file.
12411         * modules/popen-tests (Files): Add test-popen.h.
12412         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12413         Suggested by Bruno Haible.
12414
12415         test-fcntl-safer: split from test-open
12416         * tests/test-open.c (main): Move...
12417         * tests/test-open.h: ...into new file.
12418         * tests/test-fcntl-safer.c: New file.
12419         * modules/open-tests (Files): Add test-open.h.
12420         * modules/fcntl-safer-tests: New file.
12421         Suggested by Bruno Haible.
12422
12423         test-fopen-safer: split from test-fopen
12424         * tests/test-fopen.c (main): Move...
12425         * tests/test-fopen.h: ...into new file.
12426         * tests/test-fopen-safer.c: New file.
12427         * modules/fopen-tests (Files): Add test-fopen.h.
12428         * modules/fopen-safer-tests: New file.
12429         Suggested by Bruno Haible.
12430
12431 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12432
12433         popen-safer: test O_CLOEXEC at run-time.
12434         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12435
12436 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12437
12438         fcntl: move more flags to the header
12439         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12440         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12441         * lib/fcntl.in.h: Do both things here.
12442
12443 2009-08-21  Jim Meyering  <meyering@redhat.com>
12444
12445         consistently remove $@-t before redirecting to it
12446         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12447         * modules/alloca-opt: Likewise.
12448         * modules/byteswap: Likewise.
12449         * modules/fnmatch: Likewise.
12450         * modules/getopt-posix: Likewise.
12451         * modules/glob: Likewise.
12452         * modules/poll: Likewise.
12453         * modules/posix_spawnp-tests: Likewise.
12454         * modules/sys_socket: Likewise.
12455         * modules/sysexits: Likewise.
12456
12457 2009-08-21  Eric Blake  <ebb9@byu.net>
12458
12459         popen: simplify access to original popen
12460         * lib/popen.c (rpl_popen): No need to worry about popen being a
12461         macro.
12462         Reported by Bruno Haible.
12463
12464 2009-08-20  Eric Blake  <ebb9@byu.net>
12465
12466         build: avoid some compiler warnings
12467         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12468         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12469         type.
12470         (new_exclude_segment, excluded_file_pattern_p)
12471         (excluded_file_name_p): Reduce scope.
12472         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12473         old-style declaration.
12474
12475 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12476
12477         * tests/test-exclude1.sh: Handle Windows EOL.
12478         * tests/test-exclude2.sh: Likewise.
12479         * tests/test-exclude3.sh: Likewise.
12480         * tests/test-exclude4.sh: Likewise.
12481         * tests/test-exclude5.sh: Likewise.
12482         * tests/test-exclude6.sh: Likewise.
12483         * tests/test-exclude7.sh: Likewise.
12484
12485 2009-08-19  Akim Demaille  <demaille@gostai.com>
12486
12487         bootstrap: find sha1sum when named gsha1sum.
12488         * bootstrap (find_tool): New.
12489         ($SHA1SUM): New.
12490         Use it.
12491
12492 2009-08-20  Jim Meyering  <meyering@redhat.com>
12493
12494         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12495         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12496         expression that converts "." in a file name to "\." in the resulting
12497         regexp.  Start with a dummy statement, so that prior shell variable
12498         definitions are expanded portably.  Reported by Simon Josefsson.
12499
12500 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12501
12502         Fix polling for writeability of a screen buffer.
12503         * lib/poll.c: Distinguish input and screen buffers for the
12504         Win32 implementation.
12505         * lib/select.c: Likewise.
12506
12507 2009-08-19  Eric Blake  <ebb9@byu.net>
12508
12509         popen-safer: prevent popen from clobbering std descriptors
12510         * modules/popen-safer: New file.
12511         * lib/popen-safer.c: Likewise.
12512         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12513         * lib/stdio--.h (popen): Provide override.
12514         * lib/stdio-safer.h (popen_safer): Provide declaration.
12515         * tests/test-popen.c (includes): Partially test this.
12516         * modules/popen-safer-tests: New file, for more tests.
12517         * tests/test-popen-safer.c: Likewise.
12518         * MODULES.html.sh (file stream based Input/Output): Mention it.
12519
12520         tests: test some of the *-safer modules
12521         * modules/fopen-safer (Depends-on): Add fopen.
12522         * modules/fcntl-safer (Depends-on): Add fcntl.
12523         * modules/stdlib-safer (Depends-on): Add stdlib.
12524         (configure.ac): Set indicator.
12525         * modules/unistd-safer (configure.ac): Likewise.
12526         * modules/tmpfile-safer (configure.ac): Likewise.
12527         (Depends-on): Add tmpfile.
12528         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12529         active.
12530         * tests/test-fopen.c (includes): Test safer versions when they are
12531         in use.
12532         * tests/test-open.c (includes): Likewise.
12533
12534         popen: fix cygwin 1.5 bug when stdin closed
12535         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12536         * modules/popen: New file.
12537         * modules/popen-tests: Likewise.
12538         * tests/test-popen.c: Likewise.
12539         * m4/popen.m4: Likewise.
12540         * lib/popen.c: Likewise.
12541         * lib/stdio.in.h (popen): New declaration.
12542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12543         * modules/stdio (Makefile.am): Likewise.
12544         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12545
12546 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12547
12548         maint.mk: give full control over update-copyright exclusions
12549         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12550         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12551         (update-copyright): Don't force inclusion of top-level
12552         ChangeLog.  Don't force exclusion of all COPYING files, but make
12553         them the default exclusion instead.
12554
12555 2009-08-16  Bruno Haible  <bruno@clisp.org>
12556
12557         Fix test failures on Solaris 10.
12558         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12559         tests when Solaris iconv() is used.
12560         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12561         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12562         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12563         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12564         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12565
12566 2009-08-16  Bruno Haible  <bruno@clisp.org>
12567
12568         Fix test failures on Solaris 10.
12569         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12570         'tr' program and pass it as first argument.
12571         * tests/test-pipe-filter-gi1.sh: Likewise.
12572         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12573         program as first argument.
12574         * tests/test-pipe-filter-gi1.c (main): Likewise.
12575
12576 2009-08-16  Eric Blake  <ebb9@byu.net>
12577
12578         fpurge: fix previous commits
12579         * modules/fpurge (Makefile.am): Make replacement conditional,
12580         partially reverting 2007-04-29 change; missed in previous
12581         attempt.
12582         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12583         is missing.
12584
12585 2009-08-16  Bruno Haible  <bruno@clisp.org>
12586
12587         Clarify fpurge's effect on the file position.
12588         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12589         * tests/test-fpurge.c (main): Make a second pass for checking the file
12590         position.
12591
12592 2009-08-16  Bruno Haible  <bruno@clisp.org>
12593
12594         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12595         declaration of fpurge is missing.
12596         * tests/test-fpurge.c (main): Check that the file has not more contents
12597         than expected. Close the file before removing it.
12598
12599 2009-08-15  Eric Blake  <ebb9@byu.net>
12600
12601         fpurge: don't wrap working cygwin implementation
12602         * lib/fpurge.c (fpurge): Fix comment typo.
12603         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12604         1.7 to avoid replacement.
12605         * tests/test-fpurge.c (main): Enhance test.
12606
12607 2009-08-15  Eric Blake  <ebb9@byu.net>
12608         and Jim Meyering  <meyering@redhat.com>
12609
12610         test-update-copyright: skip if perl is insufficient
12611         * tests/test-update-copyright.sh: Failure to run maintainer tool
12612         should not cause testsuite failure on cygwin 1.5.
12613
12614 2009-08-14  Eric Blake  <ebb9@byu.net>
12615
12616         doc: mention more functions added in cygwin 1.7.0
12617         * doc/posix-headers/limits.texi (limits.h): Update for recent
12618         cygwin additions.
12619         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12620         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12621         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12622         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12623         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12624
12625 2009-08-14  Eric Blake  <ebb9@byu.net>
12626
12627         maint.mk: simplify update-copyright rule
12628         * top/maint.mk (update-copyright-local): Delete, and document how
12629         to do it in cfg.mk instead.
12630         (update-copyright-exclude-regexp): Delete, and document how to do
12631         it in .x-update-copyright instead.
12632         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12633         exclude ChangeLog.
12634
12635 2009-08-14  Bruno Haible  <bruno@clisp.org>
12636
12637         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12638
12639 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12640
12641         maint.mk: support update-copyright-env
12642         * top/maint.mk (update-copyright-env): Define place-holder.
12643         (update-copyright): Expand $(update-copyright-env) before
12644         invoking update-copyright.
12645
12646 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12647
12648         update-copyright: implement forced reformatting
12649         * build-aux/update-copyright: Implement and document
12650         UPDATE_COPYRIGHT_FORCE.
12651         * tests/test-update-copyright.sh: Test it.
12652
12653 2009-08-14  Eric Blake  <ebb9@byu.net>
12654         and Bruno Haible  <bruno@clisp.org>
12655
12656         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
12657         * tests/test-locale.c: Revert previous patch related to NULL.
12658         * tests/test-stdio.c: Likewise.
12659         * tests/test-stdlib.c: Likewise.
12660         * tests/test-string.c: Likewise.
12661         * tests/test-unistd.c: Likewise.
12662         * modules/time-tests (Depends-on): Add verify.
12663         * modules/wchar-tests (Depends-on): Likewise.
12664         * tests/test-time.c: Test for NULL compliance.
12665         * tests/test-wchar.c: Likewise.
12666         * modules/locale (Depends-on): Add stddef.
12667         * modules/stdio (Depends-on): Likewise.
12668         * modules/stdlib (Depends-on): Likewise.
12669         * modules/string (Depends-on): Likewise.
12670         * modules/time (Depends-on): Likewise.
12671         * modules/unistd (Depends-on): Likewise.
12672         * modules/wchar (Depends-on): Likewise.
12673         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
12674         * lib/stdlib.in.h (includes): Likewise.
12675         * lib/string.in.h (includes): Likewise.
12676         * lib/time.in.h (includes): Likewise.
12677         * lib/unistd.in.h (includes): Likewise.
12678         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
12679         replaced.
12680         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12681         * m4/stddef_h.m4: New file.
12682         * modules/stddef: Likewise.
12683         * lib/stddef.in.h: Likewise.
12684         * modules/stddef-tests: Likewise.
12685         * tests/test-stddef.c: Likewise.
12686         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
12687         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
12688         * doc/posix-headers/locale.texi (locale.h): Likewise.
12689         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
12690         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12691         * doc/posix-headers/string.texi (string.h): Likewise.
12692         * doc/posix-headers/time.texi (time.h): Likewise.
12693         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
12694         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
12695
12696 2009-08-14  Eric Blake  <ebb9@byu.net>
12697
12698         doc: improve git diff of texinfo files
12699         * .gitattributes: Add rule for *.texi files, with hint on how to
12700         use it.
12701         Copied from m4, and based on a report by Bruno Haible.
12702
12703 2009-08-14  Bruno Haible  <bruno@clisp.org>
12704
12705         Disable multithread support by default on Cygwin 1.5.x for real.
12706         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
12707
12708 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12709
12710         update-copyright: much ado about intervals
12711         * build-aux/update-copyright: Implement and document
12712         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
12713         of copyright year intervals.
12714         Also, document UPDATE_COPYRIGHT_YEAR.
12715         * tests/test-update-copyright.sh: Test it.
12716
12717         update-copyright: convert 2-digit to 4-digit years
12718         * build-aux/update-copyright: Implement and document.
12719         * tests/test-update-copyright.sh: Update.
12720
12721 2009-08-14  Jim Meyering  <meyering@redhat.com>
12722
12723         test-exclude: avoid coreutils "make check" failure
12724         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
12725         just as in test-argmatch.c.
12726
12727 2009-08-13  Eric Blake  <ebb9@byu.net>
12728
12729         test-dup2: fix bad assumption
12730         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
12731         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
12732
12733         test-version-etc: fix CRLF portability issue
12734         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
12735         recognize \r.
12736         * tests/test-argp-version-etc-1.sh: Likewise.
12737
12738         getopt: update client modules
12739         * modules/argp (Depends-on): Use getopt-gnu.
12740         * modules/git-merge-changelog (Depends-on): Likewise.
12741         * modules/long-options (Depends-on): Likewise.
12742         * modules/xstrtol (Depends-on): Likewise.
12743
12744 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12745
12746         * tests/test-version-etc.sh: Don't fail on different
12747         project/version.  Don't fail on CRLF differences.  Rewrite to use
12748         multiple -e instead of multiple sed forks, suggested by Eric Blake
12749         <ebb9@byu.net>.
12750         * tests/test-argp-version-etc-1.sh: Likewise.
12751
12752 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12753
12754         * tests/test-version-etc.sh: Don't fail on different
12755         project/version.
12756
12757 2009-08-12  Bruno Haible  <bruno@clisp.org>
12758
12759         Tests for modules 'getopt-posix', 'getopt-gnu'.
12760         * modules/getopt-posix-tests: New file.
12761         * tests/test-getopt.c: New file.
12762         * tests/test-getopt.h: New file.
12763         * tests/test-getopt_long.h: New file.
12764
12765         New modules 'getopt-posix', 'getopt-gnu'.
12766         * modules/getopt-gnu: New file, renamed from modules/getopt.
12767         * modules/getopt-posix: New file.
12768         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
12769         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
12770         (gl_GETOPT): Remove macro.
12771         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
12772         Disable the test against BSD systems that declare optreset. Test
12773         against mingw bug. Test against lack of support of optional arguments
12774         on many platforms.
12775         * doc/glibc-headers/getopt.texi: Update module name and list of
12776         relevant platforms.
12777         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
12778         'getopt-gnu' and more portability problems.
12779         * NEWS: Mention the changes.
12780
12781 2009-08-12  Bruno Haible  <bruno@clisp.org>
12782
12783         Ensure that optarg etc. get declared by <unistd.h>.
12784         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
12785         AC_USE_SYSTEM_EXTENSIONS.
12786         * modules/getopt (Depends-on): Add 'extensions'.
12787
12788 2009-08-12  Bruno Haible  <bruno@clisp.org>
12789
12790         Avoid test link errors.
12791         * modules/pipe-filter-ii-tests (Makefile.am): Define
12792         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
12793         * modules/pipe-filter-gi-tests (Makefile.am): Define
12794         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
12795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12796
12797 2009-08-12  Bruno Haible  <bruno@clisp.org>
12798
12799         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
12800         gl_GETOPT_SUBSTITUTE before.
12801         (gl_GETOPT): Use it.
12802         * m4/argp.m4 (gl_ARGP): Update.
12803         Reported by Sergey Poznyakoff.
12804
12805         * m4/getopt.m4: Reorder macros.
12806         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
12807         (gl_GETOPT_SUBSTITUTE): Remove macro.
12808
12809 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12810
12811         Minor improvement in gitlog-to-changelog
12812
12813         * build-aux/gitlog-to-changelog: New option `--format' makes
12814         output format string configurable.
12815
12816 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12817
12818         Optimize exclude: use hash tables for non-wildcard patterns.
12819
12820         * lib/exclude.c: Include hash.h and mbuiter.h
12821         (struct exclude_pattern, exclude_segment): New data types.
12822         (struct exclude): Rewrite.
12823         (fnmatch_pattern_has_wildcards): New function.
12824         (new_exclude_segment, free_exclude_segment): New functions.
12825         (excluded_file_pattern_p, excluded_file_name_p): New functions.
12826         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
12827         * lib/exclude.h (is_fnmatch_pattern): New prototype.
12828         * modules/exclude: Depend on hash and mbuiter.
12829
12830         * modules/exclude-tests: New file.
12831         * tests/test-exclude.c: New file.
12832         * tests/test-exclude1.sh: New file.
12833         * tests/test-exclude2.sh: New file.
12834         * tests/test-exclude3.sh: New file.
12835         * tests/test-exclude4.sh: New file.
12836         * tests/test-exclude5.sh: New file.
12837         * tests/test-exclude6.sh: New file.
12838         * tests/test-exclude7.sh: New file.
12839
12840 2009-08-12  Bruno Haible  <bruno@clisp.org>
12841
12842         Ensure that getopt() gets declared by <unistd.h>.
12843         * lib/unistd.in.h: Conditionally include getopt.h.
12844         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
12845         Set GNULIB_UNISTD_H_GETOPT.
12846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12847         GNULIB_UNISTD_H_GETOPT.
12848         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
12849
12850 2009-08-12  Bruno Haible  <bruno@clisp.org>
12851
12852         Clarify logic.
12853         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
12854         gl_replace_getopt instead of GETOPT_H.
12855
12856 2009-08-12  Bruno Haible  <bruno@clisp.org>
12857
12858         * m4/getopt.m4: Add comments.
12859
12860 2009-08-12  Bruno Haible  <bruno@clisp.org>
12861
12862         Disable multithread support by default on Cygwin 1.5.x.
12863         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
12864         set gl_use_threads=no if not specified otherwise.
12865
12866 2009-08-11  Bruno Haible  <bruno@clisp.org>
12867
12868         Avoid compilation error on NetBSD 5.0.
12869         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
12870         * tests/test-stdio.c: Likewise.
12871         * tests/test-stdlib.c: Likewise.
12872         * tests/test-string.c: Likewise.
12873         * tests/test-unistd.c: Likewise.
12874         Reported by Greg Troxel <gdt@ir.bbn.com>
12875         at <https://savannah.gnu.org/support/?106973>.
12876
12877 2009-08-11  Bruno Haible  <bruno@clisp.org>
12878
12879         * modules/dup2-tests (Depends-on): Remove close.
12880
12881         Undo 2009-07-19 commit.
12882         * modules/acl-tests (Depends-on): Remove close.
12883         * modules/binary-io-tests (Depends-on): Likewise.
12884         * modules/closein-tests (Depends-on): Likewise.
12885         * modules/flock-tests (Depends-on): Likewise.
12886         * modules/fsync-tests (Depends-on): Likewise.
12887         * modules/lseek-tests (Depends-on): Likewise.
12888         * modules/pipe-tests (Depends-on): Likewise.
12889         * modules/posix_spawn-tests (Depends-on): Likewise.
12890         * modules/posix_spawnp-tests (Depends-on): Likewise.
12891         * modules/stat-time-tests (Depends-on): Likewise.
12892         * modules/yesno-tests (Depends-on): Likewise.
12893
12894 2009-08-10  Bruno Haible  <bruno@clisp.org>
12895
12896         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
12897
12898 2009-08-10  Bruno Haible  <bruno@clisp.org>
12899
12900         Fix a gcc warning.
12901         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
12902
12903 2009-08-10  Bruno Haible  <bruno@clisp.org>
12904
12905         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
12906         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
12907         not only the first time.
12908         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
12909         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
12910         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
12911         is 1, not only the the first time.
12912
12913 2009-08-10  Bruno Haible  <bruno@clisp.org>
12914
12915         Make it possible to use module 'gethostname' without module 'close'.
12916         * lib/unistd.in.h (close): Evoke a link error only if
12917         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12919         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12920         * modules/unistd (Makefile.am): Substitute
12921         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12922         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
12923         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12924         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
12925         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12926         * modules/sys_ioctl (Makefile.am): Substitute
12927         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12928         * modules/socket (configure.ac): On native Windows, set
12929         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
12930         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12931         Reported by Sam Steingold <sds@gnu.org>.
12932
12933 2009-08-10  Bruno Haible  <bruno@clisp.org>
12934
12935         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
12936         * modules/ioctl (configure.ac): Likewise.
12937
12938 2009-08-10  Bruno Haible  <bruno@clisp.org>
12939
12940         Avoid collision between gnulib wrapper and libintl wrapper.
12941         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
12942         already defined in intl/printf.c.
12943         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
12944         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
12945
12946 2009-08-09  Bruno Haible  <bruno@clisp.org>
12947
12948         Make <sys/select.h> really self-contained, also on Solaris 10.
12949         * lib/sys_select.in.h: Include <string.h>.
12950         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
12951         Solaris 10 problem.
12952         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
12953         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
12954         Reported by Jim Meyering.
12955
12956 2009-08-09  Bruno Haible  <bruno@clisp.org>
12957
12958         Avoid warnings from 'aclocal' that are due to a use of macro name
12959         AM_XGETTEXT_OPTION that is not defined in automake.
12960         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
12961         automake.
12962         * modules/error (configure.ac): Likewise.
12963         * modules/propername (configure.ac): Likewise.
12964         * modules/vasprintf (configure.ac): Likewise.
12965         * modules/verror (configure.ac): Likewise.
12966         * modules/xprintf (configure.ac): Likewise.
12967         * modules/xvasprintf (configure.ac): Likewise.
12968
12969 2009-08-08  Bruno Haible  <bruno@clisp.org>
12970
12971         Avoid compilation error in C++ mode.
12972         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
12973         Reported by Sam Steingold <sds@gnu.org>.
12974
12975 2009-08-08  Bruno Haible  <bruno@clisp.org>
12976
12977         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
12978         for the various Unix platforms.
12979         * doc/posix-headers/limits.texi: Update platforms list regarding
12980         HOST_NAME_MAX.
12981         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12982
12983 2009-08-07  Jim Meyering  <meyering@redhat.com>
12984
12985         selinux-at: fix typo in a comment
12986         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
12987         Spotted by Paolo Bonzini.
12988
12989         selinux-at: remove redundant m4 code, add documentation
12990         * modules/selinux-at (configure.ac): Remove redundant code.
12991         LIB_SELINUX is already set via the dependent module, selinux-h.
12992         (Include): Add quotes around selinux-at.h.
12993         * lib/selinux-at.h: Add documentation.
12994         Reported by Bruno Haible in
12995         http://marc.info/?l=gnulib-bug&m=124958988300749
12996
12997 2009-08-07  Bruno Haible  <bruno@clisp.org>
12998
12999         Avoid link error on MacOS X 10.3 and 10.4.
13000         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13001         on non-ELF systems.
13002         * lib/argp-pv.c (argp_program_version): Likewise.
13003         Reported by Simon Josefsson.
13004
13005 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13006
13007         * tests/test-version-etc.sh: Use $EXEEXT.
13008
13009 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13010
13011         update-copyright: update documentation to point to maint.mk
13012         * build-aux/update-copyright: Here.
13013
13014 2009-08-06  Jim Meyering  <meyering@redhat.com>
13015
13016         maint.mk: support update-copyright-local
13017         * top/maint.mk (update-copyright-local): Define place-holder.
13018         (update-copyright): Depend on $(update-copyright-local).
13019
13020 2009-08-06  Jim Meyering  <meyering@redhat.com>
13021
13022         selinux-at: new module
13023         Initially written for coreutils, this module will soon be
13024         used by findutils, too.
13025         * MODULES.html.sh [Misc]: Add selinux-at.
13026         * lib/selinux-at.h: New file, from coreutils.
13027         * lib/selinux-at.c: Likewise.
13028         * modules/selinux-at: Likewise.
13029         (License): Change from LGPL to GPL, since it depends
13030         on the GPL'd openat module.
13031
13032         doc: update README
13033         * README: Remove references to cogito.
13034         Remove cvs-repo-updating instructions from 2007.
13035         Don't imply that CVS is better if you have limited disk space.
13036
13037 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13038
13039         update-copyright: support C-style comments
13040         * build-aux/update-copyright: Implement and document.
13041         * tests/test-update-copyright.sh: Test.
13042
13043 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13044
13045         update-copyright: support omitted "(C)"
13046         * build-aux/update-copyright: Implement and document.  Also,
13047         allow variable whitespace before "(C)".
13048         * tests/test-update-copyright.sh: Test.
13049
13050 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13051
13052         update-copyright: don't trip on non-FSF copyright statements
13053         * build-aux/update-copyright: Fix so that the first correctly
13054         formatted FSF copyright statement is recognized no matter what
13055         appears before it.  Update documentation.
13056         * tests/test-update-copyright.sh: Test that.
13057
13058 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13059
13060         update-copyright: clean up code a little
13061         * build-aux/update-copyright: Append "_re" to the name of any
13062         variable holding a regular expression.
13063         Replace "old" and "new" with "stmt" in variable names.
13064         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13065         handled correctly.
13066         Format code more consistently.
13067
13068 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13069
13070         update-copyright-tests: improve portability
13071         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13072         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13073
13074 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13075
13076         update-copyright: support @copyright{} and &copy;
13077         * build-aux/update-copyright: Implement and document.
13078         * tests/test-update-copyright.sh: Test.
13079
13080 2009-08-04  Jim Meyering  <meyering@redhat.com>
13081
13082         update-copyright-tests: correctly test EOL=\r\n handling
13083         * tests/test-update-copyright.sh: Put \r at the end of some lines
13084         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13085
13086         maint.mk: make update-copyright exclusion list more configurable
13087         * top/maint.mk (update-copyright): Default to excluding COPYING,
13088         but allow an override, in case someone does want to update that file.
13089
13090         maint.mk: don't update copyright date in COPYING
13091         * top/maint.mk (update-copyright): Exclude COPYING.
13092
13093         maint.mk: add a copyright-updating rule
13094         * top/maint.mk (update-copyright): New rule.
13095         Derived from coreutils/Makefile.am.
13096
13097         update-copyright: rename some variables
13098         * build-aux/update-copyright: Rename a few variables for clarity.
13099         Tweak syntax.  List Joel E. Denny as coauthor.
13100
13101 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13102
13103         update-copyright: fix bug for 2-digit last year and add tests
13104         * build-aux/update-copyright: Fix bug.
13105         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13106         specified.
13107         * modules/update-copyright-tests: New
13108         * tests/test-update-copyright.sh: New.
13109
13110 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13111
13112         update-copyright: handle leading tabs in line prefix
13113         * build-aux/update-copyright: Count leading tabs as 8 spaces
13114         when computing margin.  This helps with the formatting of
13115         ChangeLogs, for example.
13116         Fix documentation a little.
13117
13118 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13119
13120         update-copyright: support EOL=\r\n
13121         * build-aux/update-copyright: Implement that.
13122
13123 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13124
13125         update-copyright: automatically format copyright statements
13126         * build-aux/update-copyright: Implement that.
13127         Also, be a little more predictable and safer by always failing
13128         when the full copyright format is not perfectly recognized as an
13129         unbroken whole.  Discussed at
13130         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13131         Rewrite documentation.
13132
13133 2009-08-03  Bruno Haible  <bruno@clisp.org>
13134
13135         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13136
13137 2009-08-02  Bruno Haible  <bruno@clisp.org>
13138
13139         Tests for module 'uname'.
13140         * modules/uname-tests: New file.
13141         * tests/test-uname.c: New file.
13142
13143         New module 'uname'.
13144         * lib/uname.c: New file.
13145         * m4/uname.m4: New file.
13146         * modules/uname: New file.
13147         * doc/posix-functions/uname.texi: Mention the new module.
13148
13149 2009-08-02  Bruno Haible  <bruno@clisp.org>
13150
13151         Tests for module 'sys_utsname'.
13152         * modules/sys_utsname-tests: New file.
13153         * tests/test-sys_utsname.c: New file.
13154
13155         New module 'sys_utsname'.
13156         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
13157         * m4/sys_utsname_h.m4: New file.
13158         * modules/sys_utsname: New file.
13159         * doc/posix-headers/sys_utsname.texi: Mention the new module.
13160
13161 2009-08-02  Bruno Haible  <bruno@clisp.org>
13162
13163         Implicitly initialize the sockets library.
13164         * lib/gethostname.c: Include sockets.h.
13165         (rpl_gethostname): Invoke gl_sockets_startup.
13166         * lib/socket.c: Include sockets.h.
13167         (rpl_socket): Invoke gl_sockets_startup.
13168         * modules/gethostname (Depends-on): Add sockets.
13169         * modules/socket (Depends-on): Likewise.
13170         * tests/test-poll.c: Don't include sockets.h.
13171         (main): Don't invoke gl_sockets_startup.
13172         * tests/test-select.c: Don't include sockets.h.
13173         (main): Don't invoke gl_sockets_startup.
13174
13175 2009-08-02  Bruno Haible  <bruno@clisp.org>
13176
13177         Allow multiple calls to gl_sockets_startup.
13178         * lib/sockets.c (initialized_sockets_version): New variable.
13179         (gl_sockets_startup): Do nothing if already called for this or a higher
13180         version.
13181         (gl_sockets_cleanup): Reset initialized_sockets_version.
13182
13183 2009-08-03  Simon Josefsson  <simon@josefsson.org>
13184
13185         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
13186         different project/version.
13187
13188 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13189             Bruno Haible  <bruno@clisp.org>
13190
13191         Tests for module 'pipe-filter-gi'.
13192         * modules/pipe-filter-gi-tests: New file.
13193         * tests/test-pipe-filter-gi1.sh: New file.
13194         * tests/test-pipe-filter-gi1.c: New file.
13195         * tests/test-pipe-filter-gi2.sh: New file.
13196         * tests/test-pipe-filter-gi2-main.c: New file.
13197         * tests/test-pipe-filter-gi2-child.c: New file.
13198
13199         New module 'pipe-filter-gi'.
13200         * lib/pipe-filter-gi.c: New file.
13201         * modules/pipe-filter-gi: New file.
13202
13203 2009-08-02  Bruno Haible  <bruno@clisp.org>
13204             Paolo Bonzini  <bonzini@gnu.org>
13205
13206         Tests for module 'pipe-filter-ii'.
13207         * modules/pipe-filter-ii-tests: New file.
13208         * tests/test-pipe-filter-ii1.sh: New file.
13209         * tests/test-pipe-filter-ii1.c: New file.
13210         * tests/test-pipe-filter-ii2.sh: New file.
13211         * tests/test-pipe-filter-ii2-main.c: New file.
13212         * tests/test-pipe-filter-ii2-child.c: New file.
13213
13214         New module 'pipe-filter-ii'.
13215         * lib/pipe-filter.h: New file.
13216         * lib/pipe-filter-ii.c: New file.
13217         * lib/pipe-filter-aux.h: New file.
13218         * modules/pipe-filter-ii: New file.
13219
13220 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13221
13222         * lib/gc-libgcrypt.c: Change copyright to FSF.
13223         * lib/gc-gnulib.c: Likewise.
13224
13225 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13226
13227         * lib/gethostname.c: Include limits.h.
13228
13229 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13230             Bruno Haible  <bruno@clisp.org>
13231
13232         Ensure HOST_NAME_MAX as part of the gethostname module.
13233         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13234         define also HOST_NAME_MAX.
13235         * tests/test-gethostname.c: Include <limits.h>.
13236         (main): Check also HOST_NAME_MAX.
13237         * doc/posix-headers/limits.texi: Document the mingw problem.
13238
13239 2009-08-02  Bruno Haible  <bruno@clisp.org>
13240
13241         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13242         Add comments.
13243
13244 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13245
13246         * lib/gethostname.c: Add Windows wrapper.
13247         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13248         * modules/gethostname: Depend on sys_socket & errno, for also
13249         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13250         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13251
13252 2009-07-31  Jim Meyering  <meyering@redhat.com>
13253
13254         getloadavg: fix symbol name in comment
13255         * lib/getloadavg.c: Correct a typo I introduced when adding
13256         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13257         Matt Kraai spotted the problem.
13258
13259 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13260
13261         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13262         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13263         code also if ! defined N_NAME_POINTER.
13264         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13265         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13266         but the n_name member is a 12-byte array.
13267
13268 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13269
13270         update-copyright: generalize comment handling
13271         * build-aux/update-copyright: Handle copyright statements
13272         within more comment styles.
13273         Document usage.
13274         Report any file with an external copyright holder or parse failure.
13275
13276 2009-07-29  Jim Meyering  <meyering@redhat.com>
13277
13278         mktime: correct setting of REPLACE_MKTIME
13279         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13280
13281         update-copyright: new module
13282         * modules/update-copyright: New file.
13283         * build-aux/update-copyright: New file.
13284         * MODULES.html.sh (maint+release support): Add update-copyright.
13285
13286 2009-07-27  Bruno Haible  <bruno@clisp.org>
13287
13288         Fix compilation error when <ctime> is used and mktime is replaced.
13289         * lib/time.in.h (mktime): New declaration.
13290         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13291         REPLACE_MKTIME instead of defining mktime in config.h.
13292         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13293         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13294         Reported by Ross McFarland <rwmcfa1@neces.com>.
13295
13296 2009-07-27  Bruno Haible  <bruno@clisp.org>
13297
13298         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13299         Reported by Matt Kraai <mkraai@beckman.com>.
13300
13301 2009-07-25  Jim Meyering  <meyering@redhat.com>
13302
13303         maint.mk: avoid warnings about missing files
13304         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13305         diagnostic when .prev-version does not exist.
13306         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13307         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13308         nonexistent cfg.mk.
13309         Suggestions from Simon Josefsson.
13310
13311 2009-07-25  Bruno Haible  <bruno@clisp.org>
13312
13313         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13314         defined as macros. Needed on QNX 6.4.1.
13315         Reported by Matt Kraai <mkraai@beckman.com>.
13316
13317 2009-07-23  Jim Meyering  <meyering@redhat.com>
13318
13319         maint.mk: invoke "make dist" with a working value of XZ_OPT
13320         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13321
13322 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13323
13324         Make fseeko.c compile on QNX.
13325         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13326
13327 2009-07-22  Peter Simons  <simons@cryp.to>
13328
13329         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13330         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13331         * lib/md4.h: Likewise.
13332         * lib/md5.h: Likewise.
13333         * lib/sha1.h: Likewise.
13334         * lib/sha256.h: Likewise.
13335         * lib/sha512.h: Likewise.
13336
13337         tests-sha1: don't assign literal string to 'char *' variable
13338         * tests/test-sha1.c (main): Declare locals with "const" to match
13339         attributes of the right hand side.
13340
13341 2009-07-21  Eric Blake  <ebb9@byu.net>
13342
13343         dup2: fix more mingw problems
13344         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13345         fd to itself.
13346         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13347         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13348         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13349         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13350         care of mingw bugs.
13351
13352 2009-07-21  Jim Meyering  <meyering@redhat.com>
13353
13354         vc-list-files: avoid failure when /bin/sh is dash
13355         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13356         On some Debian based systems, /bin/sh is a symlink to dash, and running
13357         this command would omit the "/" following each 'tests' prefix:
13358           dash -x build-aux/vc-list-files -C . tests
13359         That is because bash and dash work differently:
13360           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13361           bash ok
13362           dash odd
13363
13364 2009-07-21  Eric Blake  <ebb9@byu.net>
13365
13366         dup2-tests: test previous patch
13367         * modules/dup2-tests: New file.
13368         * tests/test-dup2.c: Likewise.
13369         * tests/test-open.c (main): Avoid unspecified behavior.
13370         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13371         test.
13372
13373         dup2: work around mingw and cygwin 1.5 bug
13374         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13376         * modules/unistd (Makefile.am): Substitute it.
13377         * lib/unistd.in.h (dup2): Declare the replacement.
13378         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13379         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13380         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13381         * modules/execute (Depends-on): Add dup2.
13382         * modules/fseterr (Depends-on): Likewise.
13383         * modules/pipe (Depends-on): Likewise.
13384         * modules/posix_spawn-internal (Depends-on): Likewise.
13385
13386 2009-07-21  Bruno Haible  <bruno@clisp.org>
13387
13388         * modules/.gitattributes: New file.
13389
13390 2009-07-20  Bruno Haible  <bruno@clisp.org>
13391
13392         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13393         (main): Use it.
13394
13395 2009-07-20  Eric Blake  <ebb9@byu.net>
13396
13397         test-pipe: make a bit more robust.
13398         * tests/test-pipe.c (myerr): Allow error messages regardless of
13399         what we do to stderr.
13400         (test_pipe): Rearrange to avoid deadlock.
13401         (child_main): Try a larger read, to ensure we avoided deadlock.
13402         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13403         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13404         if misused.
13405
13406 2009-07-19  Jim Meyering  <meyering@redhat.com>
13407
13408         fts: avoid false-positive cycle-detection
13409         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13410         for each new command line argument.
13411
13412 2009-07-19  Bruno Haible  <bruno@clisp.org>
13413
13414         Fix build error on mingw with the modules sys_select and unistd.
13415         * modules/acl-tests (Depends-on): Add close.
13416         * modules/binary-io-tests (Depends-on): Likewise.
13417         * modules/closein-tests (Depends-on): Likewise.
13418         * modules/flock-tests (Depends-on): Likewise.
13419         * modules/fsync-tests (Depends-on): Likewise.
13420         * modules/lseek-tests (Depends-on): Likewise.
13421         * modules/pipe-tests (Depends-on): Likewise.
13422         * modules/posix_spawn-tests (Depends-on): Likewise.
13423         * modules/posix_spawnp-tests (Depends-on): Likewise.
13424         * modules/stat-time-tests (Depends-on): Likewise.
13425         * modules/yesno-tests (Depends-on): Likewise.
13426
13427 2009-07-19  Bruno Haible  <bruno@clisp.org>
13428
13429         Unify conditionals.
13430         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13431         macros, not at the compiler macros.
13432         * lib/pipe.c: Likewise.
13433         * lib/execute.c: Likewise.
13434         * lib/spawni.c: Likewise.
13435
13436 2009-07-19  Bruno Haible  <bruno@clisp.org>
13437
13438         Fix handling of closed stdin/stdout/stderr on mingw.
13439         * lib/w32spawn.h: Include unistd.h.
13440         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13441         file descriptor with O_NOINHERIT flag.
13442         (fd_safer_noinherit): New function, based on fd-safer.c.
13443         (dup_safer_noinherit): New function, based on dup-safer.c.
13444         (undup_safer_noinherit): New function.
13445         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13446         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13447         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13448         instead of fd_safer.
13449         * tests/test-pipe.c: Include <windows.h>.
13450         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13451
13452         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13453         from main.
13454         (test_pipe): Pass an extra argument for disambiguation.
13455         (main): Invoke parent_main or child_main.
13456
13457         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13458         consistently.
13459
13460 2009-07-18  Eric Blake  <ebb9@byu.net>
13461
13462         test-pipe: fix mingw build
13463         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13464
13465 2009-07-18  Bruno Haible  <bruno@clisp.org>
13466
13467         * modules/pipe-tests (Makefile.am): Fix typo.
13468
13469 2009-07-18  Eric Blake  <ebb9@byu.net>
13470
13471         error: fix mingw build
13472         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13473         Reported by Bruno Haible.
13474
13475         error: avoid undefined use of stdout
13476         * lib/error.c (error, error_at_line): Check that fd 1 is open
13477         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13478         is handling faults and the close_stdout module wants to report the
13479         detection of closed stdout as an error.
13480
13481 2009-07-17  Eric Blake  <ebb9@byu.net>
13482
13483         pipe: be robust in face of closed fds
13484         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13485         should cause child to misbehave.
13486         * modules/pipe-tests: New module.
13487         * tests/test-pipe.c: New file.
13488         * tests/test-pipe.sh: New file.
13489         Reported by Akim Demaille.
13490
13491 2009-07-14  Bruno Haible  <bruno@clisp.org>
13492
13493         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13494         Reported by anonymous kc.
13495
13496 2009-07-07  Jim Meyering  <meyering@redhat.com>
13497
13498         maint.mk: don't look for translatable strings in *.m4 or *.mk
13499         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13500         when searching for translatable strings.
13501
13502 2009-07-05  Jim Meyering  <meyering@redhat.com>
13503
13504         remove superfluous parentheses in STREQ definition
13505         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13506         * lib/getugroups.c (STREQ): Likewise.
13507         * lib/fnmatch.c (STREQ): Likewise.
13508         Spotted by Bruno Haible.
13509
13510 2009-07-04  Jim Meyering  <meyering@redhat.com>
13511
13512         argv-iter: new module
13513         * MODULES.html.sh: Add argv-iter.
13514         * lib/argv-iter.c, lib/argv-iter.h: New files.
13515         * modules/argv-iter: New file.
13516         * modules/argv-iter-tests: New file.
13517         * tests/test-argv-iter.c: Test it.
13518
13519 2009-07-04  Bruno Haible  <bruno@clisp.org>
13520
13521         Fix assertion.
13522         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13523         contains more exact copies of a given entry than file2, leave the extra
13524         copies unpaired rather than aborting.
13525         Reported by Eric Blake.
13526
13527 2009-07-02  Bruno Haible  <bruno@clisp.org>
13528
13529         Speedup git-merge-changelog for git cherry-pick.
13530         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13531         (entries_mapping_get): New function, extracted from compute_mapping.
13532         (entries_mapping_reverse_get): New function.
13533         (compute_mapping): Add a 'full' argument. Return the result in a
13534         'struct entries_mapping'.
13535         (main): Update. Access the mappings through entries_mapping_get.
13536         Reported by Eric Blake.
13537
13538 2009-07-02  Bruno Haible  <bruno@clisp.org>
13539
13540         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13541         best_i.
13542
13543 2009-07-02  Bruno Haible  <bruno@clisp.org>
13544
13545         Speed up approximate search for matching ChangeLog entries.
13546         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13547         argument. Call fstrcmp_bounded instead of fstrcmp.
13548         (compute_mapping, try_split_merged_entry, main): Update callers.
13549
13550 2009-07-02  Bruno Haible  <bruno@clisp.org>
13551
13552         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13553
13554 2009-06-30  Bruno Haible  <bruno@clisp.org>
13555
13556         Reduce the number of uc_is_cased calls.
13557         * lib/unicase.h (casing_suffix_context_t): Add
13558         'first_char_except_ignorable' field.
13559         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13560         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13561         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13562         Update initializer.
13563         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13564         case-ignorable characters.
13565         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13566         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13567         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13568         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13569         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13570
13571 2009-06-30  Bruno Haible  <bruno@clisp.org>
13572
13573         Tests for module 'unicase/ignorable'.
13574         * modules/unicase/ignorable-tests: New file.
13575         * tests/unicase/test-ignorable.c: New file, generated by
13576         gen-uni-tables.
13577
13578         Tests for module 'unicase/cased'.
13579         * modules/unicase/cased-tests: New file.
13580         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13581         * tests/unicase/test-predicate-part1.h: New file, derived from
13582         tests/unictype/test-predicate-part1.h.
13583         * tests/unicase/test-predicate-part2.h: New file, same as
13584         tests/unictype/test-predicate-part2.h.
13585
13586         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13587         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13588         (output_casing_properties): New function.
13589         (main): Call it.
13590         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13591         * lib/unicase/cased.c: Include unictype/bitmap.h.
13592         (uc_is_cased): Define through a bitmap lookup.
13593         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13594         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13595         (uc_is_case_ignorable): Define through a bitmap lookup.
13596         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13597         lib/unictype/bitmap.h.
13598         (Depends-on): Add inline. Clean up.
13599         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13600         lib/unictype/bitmap.h.
13601         (Depends-on): Add inline. Clean up.
13602         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13603         recognition.
13604         * tests/unicase/test-u16-tolower.c (main): Likewise.
13605         * tests/unicase/test-u32-tolower.c (main): Likewise.
13606
13607 2009-06-30  Bruno Haible  <bruno@clisp.org>
13608
13609         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13610         * lib/unicase/u16-casemap.c: Likewise.
13611         * lib/unicase/u32-casemap.c: Likewise.
13612
13613 2009-06-29  Bruno Haible  <bruno@clisp.org>
13614
13615         Define u32_casefold as a wrapper around u32_ct_casefold.
13616         * lib/unicase/u32-casefold.c: Update.
13617         * modules/unicase/u32-casefold (Depends-on): Add
13618         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13619         unicase/empty-suffix-context. Clean up.
13620
13621         Define u16_casefold as a wrapper around u16_ct_casefold.
13622         * lib/unicase/u16-casefold.c: Update.
13623         * modules/unicase/u16-casefold (Depends-on): Add
13624         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13625         unicase/empty-suffix-context. Clean up.
13626
13627         Define u8_casefold as a wrapper around u8_ct_casefold.
13628         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13629         * lib/unicase/u8-casefold.c: Update.
13630         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13631         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13632
13633         Define u32_totitle as a wrapper around u32_ct_totitle.
13634         * lib/unicase/u32-totitle.c: Update.
13635         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13636         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13637
13638         Define u16_totitle as a wrapper around u16_ct_totitle.
13639         * lib/unicase/u16-totitle.c: Update.
13640         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
13641         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13642
13643         Define u8_totitle as a wrapper around u8_ct_totitle.
13644         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
13645         functions.
13646         (FUNC): Delegate to U_CT_TOTITLE.
13647         * lib/unicase/u8-totitle.c: Update.
13648         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
13649         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13650
13651         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
13652         invocation.
13653         * modules/unicase/u32-tolower (Depends-on): Add
13654         unicase/empty-prefix-context, unicase/empty-suffix-context.
13655
13656         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
13657         invocation.
13658         * modules/unicase/u16-tolower (Depends-on): Add
13659         unicase/empty-prefix-context, unicase/empty-suffix-context.
13660
13661         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
13662         * modules/unicase/u8-tolower (Depends-on): Add
13663         unicase/empty-prefix-context, unicase/empty-suffix-context.
13664
13665         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
13666         invocation.
13667         * modules/unicase/u32-toupper (Depends-on): Add
13668         unicase/empty-prefix-context, unicase/empty-suffix-context.
13669
13670         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
13671         invocation.
13672         * modules/unicase/u16-toupper (Depends-on): Add
13673         unicase/empty-prefix-context, unicase/empty-suffix-context.
13674
13675         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
13676         * modules/unicase/u8-toupper (Depends-on): Add
13677         unicase/empty-prefix-context, unicase/empty-suffix-context.
13678
13679         New module 'unicase/u32-ct-casefold'.
13680         * lib/unicase/u32-ct-casefold.c: New file.
13681         * modules/unicase/u32-ct-casefold: New file.
13682
13683         New module 'unicase/u16-ct-casefold'.
13684         * lib/unicase/u16-ct-casefold.c: New file.
13685         * modules/unicase/u16-ct-casefold: New file.
13686
13687         New module 'unicase/u8-ct-casefold'.
13688         * lib/unicase/u8-ct-casefold.c: New file.
13689         * lib/unicase/u-ct-casefold.h: New file, derived from
13690         lib/unicase/u-casefold.h.
13691         * modules/unicase/u8-ct-casefold: New file.
13692
13693         New module 'unicase/u32-ct-totitle'.
13694         * lib/unicase/u32-ct-totitle.c: New file.
13695         * modules/unicase/u32-ct-totitle: New file.
13696
13697         New module 'unicase/u16-ct-totitle'.
13698         * lib/unicase/u16-ct-totitle.c: New file.
13699         * modules/unicase/u16-ct-totitle: New file.
13700
13701         New module 'unicase/u8-ct-totitle'.
13702         * lib/unicase/u8-ct-totitle.c: New file.
13703         * lib/unicase/u-ct-totitle.h: New file, derived from
13704         lib/unicase/u-totitle.h.
13705         * modules/unicase/u8-ct-totitle: New file.
13706
13707         New module 'unicase/u32-ct-tolower'.
13708         * lib/unicase/u32-ct-tolower.c: New file.
13709         * modules/unicase/u32-ct-tolower: New file.
13710
13711         New module 'unicase/u16-ct-tolower'.
13712         * lib/unicase/u16-ct-tolower.c: New file.
13713         * modules/unicase/u16-ct-tolower: New file.
13714
13715         New module 'unicase/u8-ct-tolower'.
13716         * lib/unicase/u8-ct-tolower.c: New file.
13717         * modules/unicase/u8-ct-tolower: New file.
13718
13719         New module 'unicase/u32-ct-toupper'.
13720         * lib/unicase/u32-ct-toupper.c: New file.
13721         * modules/unicase/u32-ct-toupper: New file.
13722
13723         New module 'unicase/u16-ct-toupper'.
13724         * lib/unicase/u16-ct-toupper.c: New file.
13725         * modules/unicase/u16-ct-toupper: New file.
13726
13727         New module 'unicase/u8-ct-toupper'.
13728         * lib/unicase/u8-ct-toupper.c: New file.
13729         * modules/unicase/u8-ct-toupper: New file.
13730
13731         Add context arguments to u*_casemap functions.
13732         * lib/unicase/unicasemap.h: Include unicase.h.
13733         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
13734         suffix_context arguments.
13735         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
13736         functions.
13737         (FUNC): Add prefix_context and suffix_context arguments. Use
13738         uc_is_cased and uc_is_case_ignorable.
13739         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
13740         * lib/unicase/u16-casemap.c: Likewise.
13741         * lib/unicase/u32-casemap.c: Likewise.
13742         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
13743         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13744         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
13745         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13746         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
13747         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13748
13749         New module 'unicase/u32-suffix-context'.
13750         * lib/unicase/u32-suffix-context.c: New file.
13751         * modules/unicase/u32-suffix-context: New file.
13752
13753         New module 'unicase/u16-suffix-context'.
13754         * lib/unicase/u16-suffix-context.c: New file.
13755         * modules/unicase/u16-suffix-context: New file.
13756
13757         New module 'unicase/u8-suffix-context'.
13758         * lib/unicase/u8-suffix-context.c: New file.
13759         * lib/unicase/u-suffix-context.h: New file.
13760         * modules/unicase/u8-suffix-context: New file.
13761
13762         New module 'unicase/empty-suffix-context'.
13763         * lib/unicase/empty-suffix-context.c: New file.
13764         * modules/unicase/empty-suffix-context: New file.
13765
13766         New module 'unicase/u32-prefix-context'.
13767         * lib/unicase/u32-prefix-context.c: New file.
13768         * modules/unicase/u32-prefix-context: New file.
13769
13770         New module 'unicase/u16-prefix-context'.
13771         * lib/unicase/u16-prefix-context.c: New file.
13772         * modules/unicase/u16-prefix-context: New file.
13773
13774         New module 'unicase/u8-prefix-context'.
13775         * lib/unicase/u8-prefix-context.c: New file.
13776         * lib/unicase/u-prefix-context.h: New file.
13777         * lib/unicase/context.h: New file.
13778         * modules/unicase/u8-prefix-context: New file.
13779
13780         New module 'unicase/empty-prefix-context'.
13781         * lib/unicase/empty-prefix-context.c: New file.
13782         * modules/unicase/empty-prefix-context: New file.
13783
13784         New module 'unicase/ignorable'.
13785         * lib/unicase/ignorable.c: New file.
13786         * modules/unicase/ignorable: New file.
13787
13788         New module 'unicase/cased'.
13789         * lib/unicase/caseprop.h: New file.
13790         * lib/unicase/cased.c: New file.
13791         * modules/unicase/cased: New file.
13792
13793         New functions for case mapping of substrings.
13794         * lib/unicase.h (casing_prefix_context_t): New type.
13795         (unicase_empty_prefix_context): New variable.
13796         (u8_casing_prefix_context, u16_casing_prefix_context,
13797         u32_casing_prefix_context, u8_casing_prefixes_context,
13798         u16_casing_prefixes_context, u32_casing_prefixes_context): New
13799         declarations.
13800         (casing_suffix_context_t): New type.
13801         (unicase_empty_suffix_context): New variable.
13802         (u8_casing_suffix_context, u16_casing_suffix_context,
13803         u32_casing_suffix_context, u8_casing_suffixes_context,
13804         u16_casing_suffixes_context, u32_casing_suffixes_context,
13805         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
13806         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
13807         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
13808         declarations.
13809
13810 2009-06-28  Jim Meyering  <meyering@redhat.com>
13811
13812         boostrap: indent only with spaces
13813         * build-aux/bootstrap: Indent only with spaces, never TABs.
13814
13815         bootstrap: split long lines
13816         * build-aux/bootstrap: Keep line length < 80.
13817
13818         bootstrap: sync from coreutils
13819         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
13820         just as autoreconf does.  Verify a list of prerequisite
13821         package-name,version-number pairs if defined in bootstrap.conf.
13822         Refer to README-prereq, if prerequisites are not satisfied.
13823
13824 2009-06-27  Eric Blake  <ebb9@byu.net>
13825
13826         tests: add test for bogus NULL definition
13827         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
13828         * tests/test-stdlib.c: Likewise.
13829         * tests/test-string.c: Likewise.
13830         * tests/test-locale.c: Likewise.
13831         * tests/test-unistd.c: Likewise.
13832         * modules/stdio-tests (Depends-on): Add verify.
13833         * modules/stdlib-tests (Depends-on): Likewise.
13834         * modules/string-tests (Depends-on): Likewise.
13835         * modules/locale-tests (Depends-on): Likewise.
13836         * modules/unistd-tests (Depends-on): Likewise.
13837
13838 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
13839
13840         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
13841         self-explaining comment.
13842         * m4/selinux-selinux-h: Update serial.
13843         (gl_LIBSELINUX): New macro, adding a warning for missing development
13844         packages to code extracted from...
13845         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
13846         Add warning for missing development packages here, too.
13847
13848 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
13849
13850         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
13851
13852 2009-06-25  Eric Blake  <ebb9@byu.net>
13853
13854         version-etc: fix regression
13855         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
13856         gcc.
13857         (version_etc): Use it, to catch bugs with trailing NULL.
13858         * lib/version-etc.c (version_etc_arn): Delete unused argument.
13859         (version_etc_va): Fix logic bug.
13860         * modules/version-etc-tests: Add test.
13861         * tests/test-version-etc.c: New file.
13862         * tests/test-version-etc.sh: Likewise.
13863
13864 2009-06-25  Sam Steingold  <sds@gnu.org>
13865
13866         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
13867         mbtowc declaration.
13868
13869 2009-06-25  Eric Blake  <ebb9@byu.net>
13870
13871         fpurge: migrate into <stdio.h>
13872         * lib/fpurge.h: Delete...
13873         * lib/stdio.in.h (fpurge): ...and declare here, instead.
13874         * lib/fpurge.c (fpurge): Change declaring header.
13875         * modules/fpurge (Files): Drop deleted file.
13876         (Depends-on): Add stdio.
13877         (configure.ac): Set witness.
13878         * modules/stdio (Makefile.am): Support fpurge macros.
13879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13880         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
13881         * lib/fflush.c: Update client.
13882         * tests/test-fpurge.c: Likewise.
13883         * NEWS: Mention the change.
13884
13885 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13886
13887         * lib/argp-version-etc.c (program_authors): Add const
13888         qualifier.
13889         * lib/version-etc.c: Fix typos in the comments.
13890         * modules/argp-version-etc: Depends on version-etc.
13891
13892 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13893
13894         argp-version-etc: new module.
13895
13896         * lib/argp-version-etc.c: New file.
13897         * lib/argp-version-etc.h: New file.
13898         * modules/argp-version-etc: New file.
13899         * modules/argp-version-etc-tests: New file.
13900         * tests/test-argp-version-etc.c: New test.
13901         * tests/test-argp-version-etc-1.sh: New test.
13902
13903 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13904
13905         Provide additional interfaces and documentation for version-etc
13906         module.
13907
13908         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
13909         interfaces.
13910         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
13911         prototypes.
13912
13913 2009-06-24  Bruno Haible  <bruno@clisp.org>
13914
13915         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
13916         HAVE_LIB${NAME} macro.
13917         Reported by Sam Steingold <sds@gnu.org>.
13918
13919 2009-06-23  Simon Josefsson  <simon@josefsson.org>
13920
13921         * modules/hash-tests (test_hash_LDADD): Link to libintl when
13922         needed.
13923
13924 2009-06-21  Bruno Haible  <bruno@clisp.org>
13925
13926         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
13927         work.
13928         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
13929         together with LIB${NAME}, LTLIB${NAME}.
13930         Reported by Sam Steingold <sds@gnu.org>.
13931
13932 2009-06-20  Jim Meyering  <meyering@redhat.com>
13933
13934         tests: make sc_require_test_exit_idiom more generic
13935         * top/maint.mk (Exit_witness_file): New overridable variable.
13936         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
13937         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
13938
13939 2009-06-19  Jim Meyering  <meyering@redhat.com>
13940
13941         hash: reverse order of src/dst parameters in an internal interface
13942         * lib/hash.c (transfer_entries): Reverse order of parameters to
13943         put DST before SRC.  Adjust callers.
13944
13945         tests: test-hash: avoid wholesale duplication
13946         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
13947         Instead, use a loop and add a single conditional.
13948
13949         tests: test-hash: allow seed selection via a command line argument
13950         * tests/test-hash.c (get_seed): New function.
13951         (main): Use it.
13952
13953 2009-06-19  Eric Blake  <ebb9@byu.net>
13954
13955         hash: avoid memory leak on allocation failure
13956         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
13957         failure.  Factor repeated algorithm...
13958         (transfer_entries): ...into new helper routine.
13959         (hash_delete): React to hash_rehash return value.
13960
13961         hash: reduce memory pressure in hash_rehash no-op case
13962         * lib/hash.c (next_prime): Avoid overflow.
13963         (hash_initialize): Factor bucket size computation...
13964         (compute_bucket_size): ...into new helper function.
13965         (hash_rehash): Use new function and open coding to reduce memory
13966         pressure, and avoid a memory leak in USE_OBSTACK code.
13967         Reported by Jim Meyering.
13968
13969 2009-06-18  Eric Blake  <ebb9@byu.net>
13970
13971         hash: make rotation more obvious
13972         * modules/hash (Depends-on): Add bitrotate and stdint.
13973         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
13974         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
13975         (SIZE_MAX): Rely on headers for definition.
13976         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
13977         (raw_hasher): Use rotr_sz.
13978         Suggested by Jim Meyering.
13979
13980         hash: fix memory leak in last patch
13981         * lib/hash.c (hash_rehash): Avoid memory leak.
13982
13983         hash: avoid no-op rehashing
13984         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
13985
13986         hash: provide default callback functions
13987         * lib/hash.c (raw_hasher, raw_comparator): New functions.
13988         (hash_initialize): Use them as defaults.
13989         * tests/test-hash.c (main): Test this.
13990
13991         hash: minor optimization
13992         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
13993         when possible.
13994         (hash_initialize): Document this promise.
13995         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
13996         * tests/test-hash.c (hash_compare_strings): Test this.
13997
13998 2009-06-18  Bruno Haible  <bruno@clisp.org>
13999
14000         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14001         going to be replaced anyway.
14002
14003 2009-06-18  Bruno Haible  <bruno@clisp.org>
14004
14005         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14006         in one place.
14007         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14008         be replaced anyway.
14009
14010 2009-06-18  Eric Blake  <ebb9@byu.net>
14011
14012         hash: check for resize before insertion
14013         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14014         threshold before insertion, so that a pathological hash_rehash
14015         that fills every bucket can still trigger another rehash.
14016
14017 2009-06-18  Jim Meyering  <meyering@redhat.com>
14018
14019         hash-tests: add a loop around the small tests
14020         * tests/test-hash.c (main): Repeat small tests with selected
14021         small initial table sizes.
14022
14023 2009-06-17  Eric Blake  <ebb9@byu.net>
14024
14025         hash: minor cleanups
14026         * lib/hash.h (hash_entry): Make opaque, by moving...
14027         * lib/hash.c (hash_entry): ...here.
14028         (hash_insert): Clarify restrictions on what can be inserted.
14029         (hash_get_next): Clarify when it is safe to remove an element
14030         during traversal.
14031         (check_tuning): Skip verification when tuning is known safe.
14032         (hash_initialize): Clarify restrictions on tuning.
14033
14034 2009-06-17  Jim Meyering  <jim@meyering.net>
14035         and Eric Blake  <ebb9@byu.net>
14036
14037         hash-tests: new module
14038         * modules/hash-tests: New file.
14039         * tests/test-hash.c: New file.
14040
14041 2009-06-17  Eric Blake  <ebb9@byu.net>
14042
14043         strstr-simple: document new module
14044         * MODULES.html.sh: Document new module.
14045
14046         strstr, strcasestr: replace on platforms with broken memchr
14047         * modules/strstr: Split into...
14048         * modules/strstr-simple: ...new module that does not care about
14049         performance, but does care about glibc bug.
14050         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14051         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14052         if platform memchr is broken, per Debian bug 521737.
14053         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14054         memchr.
14055         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14056         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14057         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14058         * modules/mountlist (Depends-on): Add strstr-simple.
14059         * modules/gen-uni-tables (Depends-on): Likewise.
14060         * modules/argz (Depends-on): Add strstr.
14061
14062 2009-06-17  Bruno Haible  <bruno@clisp.org>
14063
14064         * modules/posix_spawn-internal (Depends-on): Add errno.
14065
14066 2009-06-17  Bruno Haible  <bruno@clisp.org>
14067
14068         Define missing ESTALE on Interix 3.5.
14069         * lib/errno.in.h (ESTALE): Assign a value if missing.
14070         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14071         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14072         missing.
14073         * doc/posix-headers/errno.texi: Mention the Interix bug.
14074         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14075
14076 2009-06-15  Eric Blake  <ebb9@byu.net>
14077
14078         memchr, memchr2: add valgrind exception
14079         * lib/memchr.valgrind: New file.
14080         * lib/memchr2.valgrind: New file.
14081         * modules/memchr (Files): Distribute valgrind file.
14082         * modules/memchr2 (Files): Likewise.
14083
14084         docs: memchr is no longer obsolete
14085         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14086         * lib/string.in.h (memchr): Simplify logic.
14087
14088 2009-06-14  Jim Meyering  <meyering@redhat.com>
14089
14090         link-follow: fix the "checking..." message to not mention trailing slash
14091         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14092         never considered trailing slashes.
14093
14094 2009-06-14  Bruno Haible  <bruno@clisp.org>
14095
14096         * m4/memchr.m4: Mention also the bug on IA-64.
14097         * doc/posix-functions/memchr.texi: Likewise.
14098
14099 2009-06-12  Eric Blake  <ebb9@byu.net>
14100
14101         memchr: detect broken x86_64 and alpha implementations
14102         * modules/memchr-tests (Depends-on): Move mmap detection...
14103         * modules/memchr (Depends-on): ...here.
14104         (configure.ac): Set indicator.
14105         * lib/string.in.h (memchr): Declare replacement.
14106         * modules/string (Makefile.am): Trigger replacement.
14107         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14108         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14109         bugs.
14110         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14111         * modules/getpagesize (License): Relax license.
14112
14113 2009-06-11  Bruno Haible  <bruno@clisp.org>
14114
14115         * lib/idpriv.h: Add more references.
14116
14117 2009-06-08  Bruno Haible  <bruno@clisp.org>
14118
14119         Tests for module 'idpriv-droptemp'.
14120         * modules/idpriv-droptemp-tests: New file.
14121         * tests/test-idpriv-droptemp.sh: New file.
14122         * tests/test-idpriv-droptemp.su.sh: New file.
14123         * tests/test-idpriv-droptemp.c: New file.
14124
14125         New module 'idpriv-droptemp'.
14126         * lib/idpriv-droptemp.c: New file.
14127         * modules/idpriv-droptemp: New file.
14128
14129 2009-06-08  Bruno Haible  <bruno@clisp.org>
14130
14131         Tests for module 'idpriv-drop'.
14132         * modules/idpriv-drop-tests: New file.
14133         * tests/test-idpriv-drop.sh: New file.
14134         * tests/test-idpriv-drop.su.sh: New file.
14135         * tests/test-idpriv-drop.c: New file.
14136
14137         New module 'idpriv-drop'.
14138         * lib/idpriv.h: New file.
14139         * lib-idpriv-drop.c: New file.
14140         * m4/idpriv.m4: New file.
14141         * modules/idpriv-drop: New file.
14142
14143 2009-06-08  Bruno Haible  <bruno@clisp.org>
14144
14145         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14146         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14147         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14148         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14149         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14150         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14151         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14152
14153 2009-06-08  Eric Blake  <ebb9@byu.net>
14154
14155         test-strstr: use memory fence, when possible
14156         * tests/test-strstr.c (main): Use memory fence, in order to be
14157         more likely to trigger Debian bug 521737.
14158         * modules/strstr-tests (Files): Pull in additional files.
14159
14160         memchr: no longer obsolete, for wider field testing
14161         * modules/memchr (Status, Notice): Delete, this module is no
14162         longer obsolete.
14163         * modules/vasnprintf (Depends-on): Add memchr.
14164
14165 2009-06-07  Jim Meyering  <meyering@redhat.com>
14166
14167         hash: declare some functions with the warn_unused_result attribute
14168         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
14169
14170 2009-06-07  Bruno Haible  <bruno@clisp.org>
14171
14172         * tests/test-alignof.c: Don't test int64_t if it does not exist.
14173         Reported by Eric Blake.
14174
14175 2009-06-06  Eric Blake  <ebb9@byu.net>
14176
14177         test-alignof: fix typo with long double
14178         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
14179         compiler error.
14180
14181 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
14182
14183         Escape non-texinfo { and }s.
14184         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
14185         markup error.
14186
14187 2009-06-04  Jim Meyering  <meyering@redhat.com>
14188
14189         gitlog-to-changelog: don't infloop on an empty commit log
14190         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14191         Reported by Boris Petersen <transacid@centerim.org>.
14192
14193 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14194
14195         version-etc: extend for packagers
14196         Add three new configure options, intended for packagers:
14197           --with-packager="packager name"
14198           --with-packager-version="packager-specific version"
14199           --with-packager-bug-reports="packager bug reporting"
14200         An example with coreutils:
14201           $ ./configure \
14202             --with-packager=Gentoo \
14203             --with-packager-bug-report=http://bugs.gentoo.org/ \
14204             --with-packager-version="patchset 1.6"
14205           $ ./src/ls --version | head -n2
14206           ls (GNU coreutils) 7.1-dirty
14207           Packaged by Gentoo (patchset 1.6)
14208         Note that the bug reporting info via --help doesn't show up because
14209         coreutils uses its own custom emit_bug_reporting_address() implementation
14210         in src/system.h.  If it didn't, it'd look like:
14211           $ ./src/ls --help | tail -n4
14212           Report bugs to <bug-coreutils@gnu.org>.
14213           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14214           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14215           General help using GNU software: <http://www.gnu.org/gethelp/>.
14216         * lib/version-etc.c: Print new information, if provided.
14217         * m4/version-etc.m4: New file.
14218         * modules/version-etc (Files): Add m4/version-etc.m4.
14219         (configure.ac): Add gl_VERSION_ETC.
14220
14221 2009-05-31  Bruno Haible  <bruno@clisp.org>
14222
14223         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14224         and 'int64_t'.
14225         * modules/alignof-tests (Dependencies): Add stdint.
14226         Reported by Eric Blake.
14227
14228 2009-05-31  Bruno Haible  <bruno@clisp.org>
14229
14230         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14231         restriction due to compiler bugs.
14232         Reported by Eric Blake.
14233
14234 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14235             Bruno Haible  <bruno@clisp.org>
14236
14237         Fix test-alignof failure.
14238         * lib/alignof.h (alignof_slot): New macro.
14239         (alignof_type): New macro, with the same semantics as the previous
14240         'alignof'.
14241         (alignof): Alias to alignof_slot.
14242         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14243         check that the results are usable as constant expressions.
14244
14245 2009-05-31  Bruno Haible  <bruno@clisp.org>
14246
14247         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14248         * tests/test-memchr.c (main): Check that memchr does not read past the
14249         first occurrence of the byte.
14250         * tests/test-strstr.c (main): Update comment.
14251         Suggested by Eric Blake.
14252
14253 2009-05-30  Bruno Haible  <bruno@clisp.org>
14254
14255         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14256         detail how to use dumpbin.
14257         Reported by David Byron <dbyron@dbyron.com>.
14258
14259 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14260
14261         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14262
14263 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14264
14265         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14266
14267 2009-05-28  Bruno Haible  <bruno@clisp.org>
14268
14269         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14270         build-aux/ files.
14271
14272 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14273
14274         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14275
14276 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14277
14278         * gnulib-tool (sed_transform_main_lib_file)
14279         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14280         regexps.
14281
14282 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14283
14284         * tests/test-strstr.c: Add another self-test.
14285         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14286         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14287
14288 2009-05-23  Bruno Haible  <bruno@clisp.org>
14289
14290         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14291         change.
14292
14293 2009-05-21  Bruno Haible  <bruno@clisp.org>
14294
14295         Simplify use of mode_t varargs.
14296         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14297         uses 'mode_t' or 'int'.
14298         * lib/openat.c (openat): Likewise.
14299         * lib/open-safer.c (open_safer): Likewise.
14300         * m4/mode_t.m4: New file.
14301         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14302         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14303         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14304         * modules/open (Files): Add m4/mode_t.m4.
14305         * modules/openat (Files): Likewise.
14306         * modules/fcntl-safer (Files): Likewise.
14307         Suggested by Eric Blake.
14308
14309 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14310
14311         * doc/glibc-functions/fallocate.texi: New file.
14312         * doc/gnulib.texi: Include it.
14313
14314 2009-05-21  Eric Blake  <ebb9@byu.net>
14315             Bruno Haible  <bruno@clisp.org>
14316
14317         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14318         invocations.
14319         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14320
14321 2009-05-21  Eric Blake  <ebb9@byu.net>
14322             Bruno Haible  <bruno@clisp.org>
14323
14324         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14325         include_next. Fix of 2008-11-20 commit.
14326         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14327         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14328         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14329         NEXT_MATH_H.
14330         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14331         instead of NEXT_MATH_H.
14332
14333 2009-05-21  Bruno Haible  <bruno@clisp.org>
14334
14335         Avoid redefinition warnings for SIZE_MAX.
14336         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14337         Reported by Simon Josefsson.
14338
14339 2009-05-21  Bruno Haible  <bruno@clisp.org>
14340
14341         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14342         AC_CACHE_VAL.
14343
14344 2009-05-20  Bruno Haible  <bruno@clisp.org>
14345
14346         Make zeroptr.h work on mingw.
14347         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14348         mprotect.
14349         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14350         * modules/memchr2-tests (configure.ac): Likewise.
14351         * modules/memcmp-tests (configure.ac): Likewise.
14352         * modules/memmem-tests (configure.ac): Likewise.
14353         * modules/memrchr-tests (configure.ac): Likewise.
14354         Reported by Simon Josefsson.
14355
14356 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14357
14358         * tests/test-glob.c: Include string.h for strcmp prototype.
14359
14360 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14361
14362         * modules/getdelim (Depends-on): Add explicit stdint, although it
14363         was implicitly already pulled in via realloc-posix.
14364         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14365
14366 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14367
14368         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14369         G. Christensen" <tgc@jupiterrise.com>.
14370         * m4/sys_socket_h.m4: Check for sa_family_t.
14371         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14372         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14373         * tests/test-sys_socket.c: Check that sa_family_t works.
14374
14375 2009-05-18  Eric Blake  <ebb9@byu.net>
14376
14377         maint.mk: allow gnulib_dir in VPATH build
14378         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14379
14380 2009-05-15  Jim Meyering  <meyering@redhat.com>
14381
14382         maint.mk: Give gnulib_dir a default definition.
14383         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14384         Thus, most packages no longer need to specify this variable in cfg.mk
14385
14386 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14387
14388         rename.m4: fix typos that would make non-mingw cross-configure fail
14389         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14390
14391 2009-05-13  Eric Blake  <ebb9@byu.net>
14392
14393         mmap-anon: avoid out-of-order autoconf expansion
14394         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14395         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14396         * modules/memchr-tests (Depends-on): Add extensions.
14397         * modules/memchr2-tests (Depends-on): Add extensions.
14398         * modules/memcmp-tests (Depends-on): Add extensions.
14399         * modules/memmem-tests (Depends-on): Add extensions.
14400         * modules/memrchr-tests (Depends-on): Add extensions.
14401
14402 2009-05-13  Bruno Haible  <bruno@clisp.org>
14403
14404         Make some tests ISO C 99 compliant.
14405         * tests/zerosize-ptr.h: New file.
14406         * tests/test-memchr.c: Include zerosize-ptr.h.
14407         (main): Use a zero-size object pointer instead of NULL.
14408         * tests/test-memchr2.c: Include zerosize-ptr.h.
14409         (main): Use a zero-size object pointer instead of NULL.
14410         * tests/test-memcmp.c: Include zerosize-ptr.h.
14411         (main): Use a zero-size object pointer instead of NULL.
14412         * tests/test-memmem.c: Include zerosize-ptr.h.
14413         (main): Use a zero-size object pointer instead of NULL.
14414         * tests/test-memrchr.c: Include zerosize-ptr.h.
14415         (main): Use a zero-size object pointer instead of NULL.
14416         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14417         m4/mmap-anon.m4.
14418         (Depends-on): Add getpagesize.
14419         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14420         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14421         m4/mmap-anon.m4.
14422         (Depends-on): Add getpagesize.
14423         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14424         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14425         m4/mmap-anon.m4.
14426         (Depends-on): Add getpagesize.
14427         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14428         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14429         m4/mmap-anon.m4.
14430         (Depends-on): Add getpagesize.
14431         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14432         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14433         m4/mmap-anon.m4.
14434         (Depends-on): Add getpagesize.
14435         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14436
14437 2009-05-12  Bruno Haible  <bruno@clisp.org>
14438
14439         Tests for module 'alignof'.
14440         * modules/alignof-tests: New file.
14441         * tests/test-alignof.c: New file.
14442
14443 2009-05-12  Bruno Haible  <bruno@clisp.org>
14444
14445         Fix alignof macro.
14446         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14447         vendor compilers that are always correct.
14448
14449 2009-05-12  Bruno Haible  <bruno@clisp.org>
14450
14451         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14452         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14453         not whether its fully works.
14454
14455 2009-05-12  Bruno Haible  <bruno@clisp.org>
14456
14457         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14458
14459 2009-05-12  Jim Meyering  <meyering@redhat.com>
14460
14461         * top/maint.mk: Adjust backslash alignment.
14462
14463 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14464
14465         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14466
14467 2009-05-11  Eric Blake  <ebb9@byu.net>
14468
14469         argp: avoid undefined behavior
14470         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14471         macros.
14472
14473 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14474
14475         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14476         user.name to prevent git commit from complaining.
14477
14478 2009-05-10  Bruno Haible  <bruno@clisp.org>
14479
14480         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14481         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14482         it rewrites every file name only once.
14483         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14484
14485 2009-05-08  Bruno Haible  <bruno@clisp.org>
14486
14487         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14488         instead of 'max'.
14489
14490 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14491
14492         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14493         sockaddr_storage test.
14494
14495 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14496
14497         * modules/sys_socket (Makefile.am): Substitute
14498         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14499         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14500         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14501         * tests/test-sys_socket.c: Check sockaddr_storage.
14502
14503 2009-05-08  Bruno Haible  <bruno@clisp.org>
14504
14505         New module 'alignof'.
14506         * lib/alignof.h: New file.
14507         * modules/alignof: New file.
14508
14509 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14510             Bruno Haible  <bruno@clisp.org>
14511
14512         Fix test-file-has-acl on FreeBSD.
14513         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14514         mask is implicitly added.
14515         * tests/test-file-has-acl.c: Include <signal.h>.
14516         (main): Terminate the test after 5 seconds.
14517         * modules/acl-tests (configure.ac): Check for alarm function.
14518
14519 2009-05-04  Bruno Haible  <bruno@clisp.org>
14520
14521         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14522         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14523         * modules/errno (configure.ac): Drop AC_REQUIRE.
14524         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14525         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14526
14527 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14528
14529         * modules/glob-tests: New module.
14530         * tests/test-glob.c: Add.
14531
14532 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14533
14534         * modules/fnmatch-tests: New module.
14535         * tests/test-fnmatch.c: Add.
14536
14537 2009-05-04  Eric Blake  <ebb9@byu.net>
14538
14539         maint: make the new no-submodule-changes rule VPATH-safe
14540         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14541
14542 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14543             Bruno Haible  <bruno@clisp.org>
14544
14545         acl: Fix infinite loop on FreeBSD.
14546         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14547         of return value from acl_get_entry.
14548         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14549         Likewise.
14550
14551 2009-05-03  Bruno Haible  <bruno@clisp.org>
14552
14553         * lib/acl-internal.h (acl_entries): Clarify return value.
14554         * lib/acl_entries.c (acl_entries): Likewise.
14555
14556 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14557
14558         Bug fix in acl module.
14559         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14560
14561 2009-05-03  Bruno Haible  <bruno@clisp.org>
14562
14563         Create gperf-generated file in the source dir, not in the build dir.
14564         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14565         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14566         * modules/unicase/locale-language (unicase/locale-languages.h):
14567         Likewise.
14568         * modules/unicase/special-casing (unicase/special-casing-table.h):
14569         Likewise.
14570         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14571         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14572         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14573         Reported by Ralf Wildenhues.
14574
14575 2009-05-03  Bruno Haible  <bruno@clisp.org>
14576
14577         * modules/fnmatch (Description, configure.ac): Taken from
14578         fnmatch-posix.
14579         * modules/fnmatch-posix: Turn into a symbolic reference to the
14580         'fnmatch' module, and deprecate.
14581         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14582
14583 2009-05-03  Bruno Haible  <bruno@clisp.org>
14584
14585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14586         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14587         Reported by Ralf Wildenhues.
14588
14589 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14590
14591         * m4/fnmatch.m4: Fix fnmatch re-define.
14592
14593 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14594
14595         priv-set: new module and tests; adapt write-any-file
14596         * lib/priv-set.c: New file.
14597         * lib/priv-set.h: New file.
14598         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14599         * lib/write-any-file.c: Simplify by using priv-set module.
14600         * m4/priv-set.m4: New file.
14601         * modules/priv-set: New file.
14602         * modules/unlinkdir: Add dependency on priv-set module.
14603         * modules/write-any-file: Likewise.
14604
14605         Tests for module 'priv-set'.
14606         * modules/priv-set-tests: New file.
14607         * tests/test-priv-set.c: New file.
14608
14609 2009-05-03  Jim Meyering  <meyering@redhat.com>
14610             Bruno Haible  <bruno@clisp.org>
14611
14612         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14613         use the converted UTF-8 variant of the name instead.
14614
14615 2009-05-03  Jim Meyering  <meyering@redhat.com>
14616
14617         tests: tighten some getdate tests
14618         * tests/test-getdate.c (main): Tighten tests: require equality,
14619         not just greater than.  Set TZ envvar to UTC0.
14620
14621 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14622
14623         getdate: correctly interpret "next monday" when run on a Monday
14624         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14625         that e.g., "next tues" (when run on a tuesday) results in a date
14626         that is one week in the future, and not today's date.
14627         I.e., add a week when the wday is the same as the current one.
14628         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14629         and earlier by Martin Bernreuther and Jan Minář.
14630         * tests/test-getdate.c (main): Check that "next DAY" is always in
14631         the future and that "last DAY" is always in the past.
14632
14633 2009-05-02  Jim Meyering  <meyering@redhat.com>
14634
14635         build: ensure that a release build fails when a submodule is unclean
14636         * top/maint.mk (no-submodule-changes): New rule.
14637         (alpha beta major): Depend on it.
14638
14639 2009-05-02  Bruno Haible  <bruno@clisp.org>
14640
14641         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
14642         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
14643         shell variable gl_fnmatch_required to detect which variant is
14644         requested.
14645         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
14646         gl_FUNC_FNMATCH_POSIX.
14647         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
14648         exclude fnmatch-posix.
14649
14650 2009-05-02  Bruno Haible  <bruno@clisp.org>
14651
14652         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
14653         * modules/mbsrtowcs (License): Change to LGPLv2+.
14654         * modules/strnlen1 (License): Likewise.
14655         Reported by Simon Josefsson.
14656
14657 2009-05-02  Bruno Haible  <bruno@clisp.org>
14658
14659         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
14660         "cross".
14661         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
14662         gnulib-tool was called with option --source-base=lib.
14663
14664 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14665
14666         Use automake *-local hooks without commands, for extensibility.
14667         * modules/localcharset (Makefile.am): Rename install-exec-local
14668         rule to install-exec-localcharset, and make it a prerequisite of
14669         install-exec-local.  Likewise, rename the uninstall-local rule to
14670         uninstall-localcharset, and make it a prerequisite of the former.
14671
14672 2009-05-01  Bruno Haible  <bruno@clisp.org>
14673
14674         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
14675         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14676         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
14677         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
14678         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
14679         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14680         m4/locale-zh.m4, m4/codeset.m4.
14681
14682         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14683         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
14684         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14685         m4/locale-zh.m4.
14686
14687         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
14688         REPLACE_WCRTOMB if mbstate_t must be replaced.
14689         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
14690         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
14691
14692 2009-05-01  Bruno Haible  <bruno@clisp.org>
14693
14694         Avoid compiler warnings when redefining macros defined by <libintl.h>.
14695         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
14696         dngettext, dcngettext, textdomain, bindtextdomain,
14697         bind_textdomain_codeset): Undefine before redefining.
14698
14699 2009-04-30  Bruno Haible  <bruno@clisp.org>
14700
14701         Fix bug introduced on 2009-04-25.
14702         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
14703         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
14704         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
14705         is defined.
14706         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
14707         is defined.
14708         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
14709         is defined.
14710         Reported by Elbert_Pol <elbert.pol@gmail.com>.
14711
14712 2009-04-28  Bruno Haible  <bruno@clisp.org>
14713
14714         Comment tweaks.
14715         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
14716         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
14717         * lib/unicase.h (u*_casexfrm): Likewise.
14718         Reported by Paolo Bonzini.
14719
14720 2009-04-28  Bruno Haible  <bruno@clisp.org>
14721
14722         Fix a compilation error.
14723         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
14724         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14725         Reported by Jim Meyering.
14726
14727 2009-04-27  Bruno Haible  <bruno@clisp.org>
14728
14729         New module 'libunistring'.
14730         * modules/libunistring: New file.
14731         * m4/libunistring.m4: New file.
14732         * MODULES.html.sh (Unicode string functions): Add it.
14733
14734 2009-04-27  Eric Blake  <ebb9@byu.net>
14735
14736         maint.mk: allow package-specific header to provide <config.h>
14737         * top/maint.mk (sc_require_config_h): New variable.
14738         (sc_require_config_h, sc_require_config_h_first): Use it.
14739
14740 2009-04-27  Simon Josefsson  <simon@josefsson.org>
14741
14742         * top/maint.mk (sc_avoid_if_before_free): Except
14743         useless-if-before-free script.
14744
14745 2009-04-27  Eric Blake  <ebb9@byu.net>
14746
14747         maintainer-makefile: depend on all required helper scripts
14748         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
14749         useless-if-before-free.
14750         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
14751         version, rather than assuming gnulib checkout is available.
14752         Reported by Simen Josefsson.
14753
14754 2009-04-26  Bruno Haible  <bruno@clisp.org>
14755
14756         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
14757         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
14758         "../" or "..".
14759
14760 2009-04-26  Bruno Haible  <bruno@clisp.org>
14761
14762         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
14763         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
14764         AC_LIB_HAVE_LINKFLAGS.
14765
14766 2009-04-26  Bruno Haible  <bruno@clisp.org>
14767
14768         Simplify calling convention of u*_conv_from_encoding.
14769         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
14770         u32_conv_from_encoding): Expect a resultbuf argument and return the
14771         result directly as a pointer.
14772         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14773         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
14774         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
14775         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
14776         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
14777         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14778         Update.
14779         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
14780         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
14781         * lib/vasnprintf.c (VASNPRINTF): Update.
14782         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
14783         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
14784         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
14785         * NEWS: Mention the change.
14786
14787 2009-04-26  Bruno Haible  <bruno@clisp.org>
14788
14789         Simplify calling convention of u*_conv_to_encoding.
14790         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
14791         u32_conv_to_encoding): Expect a resultbuf argument and return the
14792         result directly as a pointer.
14793         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14794         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
14795         freeing scaled_offsets if mem_iconveha failed.
14796         * lib/unicase/u-casexfrm.h (FUNC): Update.
14797         * lib/uninorm/u-normxfrm.h (FUNC): Update.
14798         * lib/vasnprintf.c (VASNPRINTF): Update.
14799         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
14800         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
14801         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
14802         * NEWS: Mention the change.
14803
14804 2009-04-26  Bruno Haible  <bruno@clisp.org>
14805
14806         Avoid test failures on AIX and OSF/1.
14807         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
14808         malloc(0).
14809         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14810         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14811         Likewise.
14812         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
14813         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
14814         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
14815         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
14816         * doc/posix-functions/malloc.texi: Document the portability problem
14817         related to malloc(0).
14818
14819 2009-04-26  Bruno Haible  <bruno@clisp.org>
14820
14821         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
14822         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
14823         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
14824
14825 2009-04-25  Bruno Haible  <bruno@clisp.org>
14826
14827         Avoid link error when creating a namespace clean library.
14828         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
14829         as macro with arguments if already defined as an alias.
14830         * lib/signbitf.c (gl_signbitf): Don't undefine.
14831         * lib/signbitd.c (gl_signbitd): Don't undefine.
14832         * lib/signbitl.c (gl_signbitl): Don't undefine.
14833
14834 2009-04-25  Jim Meyering  <meyering@redhat.com>
14835
14836         vc-list-files: fix another quoting bug
14837         * build-aux/vc-list-files: Avoid sed backslash expansion
14838         of pathological directory names.
14839
14840 2009-04-25  Eric Blake  <ebb9@byu.net>
14841
14842         vc-list-files: fix shell quoting error
14843         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
14844         timestamp.
14845
14846 2009-04-25  Jim Meyering  <meyering@redhat.com>
14847
14848         vc-list-files: restore lost functionality with subdir argument
14849         * build-aux/vc-list-files: When given a non-"." sub-directory
14850         argument, substitute the $dir/ prefix back onto each resulting name.
14851         Otherwise, coreutils' root_tests check would fail.
14852
14853 2009-04-24  Eric Blake  <ebb9@byu.net>
14854
14855         vc-list-files: ignore git symlinks
14856         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
14857         than ls-files, to ignore git symlinks.
14858
14859         maint.mk: import improvements from m4
14860         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
14861         (move_if_change): Delete unused macro.
14862         (news-date-check, vc-diff-check): Support VPATH builds.
14863         (announcement): Likewise.  Split --bootstrap-tools list...
14864         (boostrap-tools): ...into separate list, which can be overridden
14865         in cfg.mk.
14866         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
14867         requiring dependency on useless-if-before-free module.
14868         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
14869         Support VPATH builds.
14870
14871 2009-04-24  Jim Meyering  <meyering@redhat.com>
14872
14873         maint.mk: remove coreutils-specific rules and variables
14874         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
14875         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
14876         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
14877
14878         maint.mk: remove obsolete rule
14879         * top/maint.mk (rel-check): Remove rule.
14880         (WGET, WGETFLAGS): Remove now-unused variables.
14881
14882 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14883
14884         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
14885         consistency.
14886
14887         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
14888         '$(PATH_SEPARATOR)' instead of ':'.
14889
14890 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14891
14892         * lib/getopt1.c (main): Use 'const' for static array.
14893
14894 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14895
14896         * top/maint.mk: Sync with coreutils.
14897         * NEWS: Explain incompatibilities.
14898
14899 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14900             Bruno Haible  <bruno@clisp.org>
14901
14902         Fix cross-compilation results.
14903         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
14904         statement, as third argument of AC_TRY_RUN.
14905         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14906         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
14907         Likewise.
14908         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14909         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
14910         Likewise.
14911         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14912         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
14913         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
14914
14915 2009-04-20  Bruno Haible  <bruno@clisp.org>
14916
14917         Avoid test failure on mingw.
14918         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
14919
14920 2009-04-20  Bruno Haible  <bruno@clisp.org>
14921
14922         Avoid compilation error on mingw.
14923         * modules/localename-tests (Depends-on): Add locale.
14924
14925 2009-04-19  Bruno Haible  <bruno@clisp.org>
14926
14927         Support for building a shared library on Windows platforms.
14928         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
14929         (main): Test the presence of UNINORM_NFC here.
14930         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
14931         (main): Test the presence of UNINORM_NFD here.
14932         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
14933         (main): Test the presence of UNINORM_NFKC here.
14934         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
14935         (main): Test the presence of UNINORM_NFKD here.
14936
14937 2009-04-19  Bruno Haible  <bruno@clisp.org>
14938
14939         Avoid a compiler warning.
14940         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
14941         Change type of variable 'sequence'.
14942
14943 2009-04-19  Bruno Haible  <bruno@clisp.org>
14944
14945         * modules/configmake (Makefile.am): When the contents of configmake.h
14946         does not change, arrange to preserve its modification time.
14947
14948 2009-04-17  Simon Josefsson  <simon@josefsson.org>
14949
14950         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
14951         gettext domain.
14952
14953 2009-04-16  Jim Meyering  <meyering@redhat.com>
14954
14955         useless-if-before-free: improve conversion code
14956         * build-aux/useless-if-before-free: Adjust code-in-comment to match
14957         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
14958
14959 2009-04-14  Bruno Haible  <bruno@clisp.org>
14960
14961         * modules/fcntl (Depends-on): Add extensions.
14962         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
14963
14964 2009-04-12  Ben Pfaff  <blp@gnu.org>
14965
14966         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
14967         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
14968
14969 2009-03-20  Ben Pfaff  <blp@gnu.org>
14970
14971         Make rename replace existing destinations on Windows.
14972         * m4/rename.m4: Add test for Mingw.
14973         * lib/rename.c: Add rename replacement that uses MoveFileEx with
14974         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
14975         * doc/posix-functions/rename.texi: Document.
14976
14977 2009-04-10  Bruno Haible  <bruno@clisp.org>
14978
14979         New include file "iconveh.h".
14980         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
14981         * lib/striconveh.h: Include it.
14982         (enum iconv_ilseq_handler): Remove definition.
14983         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
14984         striconveh.h.
14985         * lib/striconveha.c: Include striconveh.h.
14986         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
14987         * modules/striconveh (Files): Add lib/iconveh.h.
14988         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
14989         lib/striconveh.h.
14990
14991 2009-04-10  Bruno Haible  <bruno@clisp.org>
14992
14993         * lib/uniconv.h: Update comment.
14994
14995 2009-04-10  Bruno Haible  <bruno@clisp.org>
14996
14997         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
14998         always.
14999         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15000         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15001         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15002         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15003         "unistring-notinline.h", so that the function gets defined always.
15004         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15005         * lib/unistr/u8-uctomb.c: Likewise.
15006         * lib/unistr/u16-mbtouc.c: Likewise.
15007         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15008         * lib/unistr/u16-uctomb.c: Likewise.
15009         * lib/unistr/u32-mbtouc.c: Likewise.
15010         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15011         * lib/unistr/u32-uctomb.c: Likewise.
15012
15013 2009-04-10  Bruno Haible  <bruno@clisp.org>
15014
15015         Mark 'utime' obsolete.
15016         * modules/utime (Status, Notice): New sections.
15017         Suggested by Jim Meyering.
15018
15019         Fix cross-compile guess for utime test.
15020         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15021         autoconf.
15022         * doc/posix-functions/utime.texi: Give more precisions.
15023         Reported by Jan <ipif@ymail.com>.
15024
15025 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15026
15027         filevercmp: correct today's change
15028         * lib/filevercmp.c: Also handle coreutils' test inputs.
15029         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15030
15031         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15032         for reporting it.
15033         * lib/filevercmp.c: Special handle for "", "." and "..".
15034         * tests/test-filevercmp.c: Enlarge the set suite.
15035
15036 2009-04-07  Jim Meyering  <meyering@redhat.com>
15037
15038         useless-if-before-free: show how to remove braced useless free, too
15039         * build-aux/useless-if-before-free: still only in a comment, though.
15040
15041 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15042
15043         maint.mk: import changes to syntax-check macros from coreutils
15044         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15045         Use them in the relevant macros.
15046
15047 2009-04-06  Bruno Haible  <bruno@clisp.org>
15048
15049         Fix unportable use of bit-fields.
15050         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15051         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15052         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15053
15054 2009-04-06  Bruno Haible  <bruno@clisp.org>
15055
15056         Avoid test failures on AIX and OSF/1.
15057         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15058         that malloc(0) = NULL.
15059         * tests/unicase/test-u8-tolower.c (check): Likewise.
15060         * tests/unicase/test-u8-totitle.c (check): Likewise.
15061         * tests/unicase/test-u8-toupper.c (check): Likewise.
15062         * tests/unicase/test-u16-casefold.c (check): Likewise.
15063         * tests/unicase/test-u16-tolower.c (check): Likewise.
15064         * tests/unicase/test-u16-totitle.c (check): Likewise.
15065         * tests/unicase/test-u16-toupper.c (check): Likewise.
15066         * tests/unicase/test-u32-casefold.c (check): Likewise.
15067         * tests/unicase/test-u32-tolower.c (check): Likewise.
15068         * tests/unicase/test-u32-totitle.c (check): Likewise.
15069         * tests/unicase/test-u32-toupper.c (check): Likewise.
15070         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15071         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15072         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15073         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15074         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15075         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15076         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15077         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15078         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15079         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15080         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15081         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15082
15083 2009-04-05  Bruno Haible  <bruno@clisp.org>
15084
15085         Work around an autoconf limitation.
15086         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15087         comment line if it would be longer than 3 KB.
15088
15089 2009-04-05  Bruno Haible  <bruno@clisp.org>
15090
15091         Avoid test failure with libiconv-1.13.
15092         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15093         of the expected test results.
15094
15095 2009-04-05  Bruno Haible  <bruno@clisp.org>
15096
15097         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15098         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15099         that it should be installed.
15100
15101 2009-04-05  Bruno Haible  <bruno@clisp.org>
15102
15103         * gnulib-tool: New option --copy-file.
15104         (func_usage): Document it.
15105         (func_dest_tmpfilename): Moved out of func_import.
15106         (func_add_file, func_update_file): New functions, extracted from
15107         func_import.
15108         (func_import): Update.
15109
15110 2009-04-05  Karl Berry  <karl@gnu.org>
15111
15112         * README: prominently mention gnulib-tool.
15113         Rearrange sections so getting the code is near the top.
15114
15115 2009-04-05  Bruno Haible  <bruno@clisp.org>
15116
15117         * lib/unicase.h: Mention u*_cmp2.
15118         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15119         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15120         * lib/unicase/ulc-casecmp.c: Likewise.
15121         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15122         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15123         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15124         unistr/u8-cmp.
15125         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15126         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15127         unistr/u16-cmp.
15128         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15129         unistr/u32-cmp.
15130
15131         * lib/uninorm.h: Mention u*_cmp2.
15132         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15133         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15134         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15135         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15136         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15137         unistr/u8-cmp.
15138         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15139         unistr/u16-cmp.
15140         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15141         unistr/u32-cmp.
15142
15143         New module 'unistr/u32-cmp2'.
15144         * lib/unistr/u32-cmp2.c: New file.
15145         * modules/unistr/u32-cmp2: New file.
15146
15147         New module 'unistr/u16-cmp2'.
15148         * lib/unistr/u16-cmp2.c: New file.
15149         * modules/unistr/u16-cmp2: New file.
15150
15151         New module 'unistr/u8-cmp2'.
15152         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15153         * lib/unistr/u8-cmp2.c: New file.
15154         * lib/unistr/u-cmp2.h: New file.
15155         * modules/unistr/u8-cmp2: New file.
15156
15157 2009-04-05  Bruno Haible  <bruno@clisp.org>
15158
15159         * lib/unictype.h (uc_property_is_valid): New macro.
15160         * tests/unictype/test-pr_byname.c (main): Use it.
15161
15162         * lib/unistr.h: Doc fixes.
15163         * lib/uniconv.h: Doc fixes.
15164         * lib/unictype.h: Doc fixes.
15165
15166 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
15167
15168         Port coreutils 7.2 to Solaris 8.
15169
15170         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
15171         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
15172         for Solaris 8.  This is a bit of a hack, as it means it's the
15173         caller's responsibility to add -lnsl if needed, but most likely it
15174         won't be needed since only getaddrinfo uses this and getaddrinfo
15175         isn't needed on Solaris 8.
15176
15177         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
15178         problem to Solaris 8 encountered with coreutils 7.2, which
15179         resulted in a message "fnmatch.c:292: warning: passing argument 4
15180         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
15181         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
15182
15183 2009-04-03  Simon Josefsson  <simon@josefsson.org>
15184
15185         * m4/ld-version-script.m4: Add FIXME comment.
15186
15187 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15188
15189         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15190         SOVERSION variable.
15191
15192 2009-04-02  Bruno Haible  <bruno@clisp.org>
15193
15194         * Makefile (info, html, dvi, pdf): Combine the rules.
15195         Suggested by Jim Meyering.
15196
15197 2009-04-01  Bruno Haible  <bruno@clisp.org>
15198
15199         * Makefile (info, html, dvi, pdf): New targets.
15200         Reported by Reuben Thomas <rrt@sc3d.org>.
15201
15202 2009-04-01  Bruno Haible  <bruno@clisp.org>
15203
15204         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15205         can be put into PATH.
15206         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15207
15208 2009-04-01  Bruno Haible  <bruno@clisp.org>
15209
15210         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15211
15212 2009-04-01  Bruno Haible  <bruno@clisp.org>
15213
15214         Rename module 'visibility'.
15215         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15216         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15217         * doc/gnulib.texi: Update.
15218         * MODULES.html.sh (Misc): Update.
15219         * NEWS: Mention the change.
15220
15221 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15222
15223         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15224         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15225         Eric Blake <ebb9@byu.net> for review.
15226         * MODULES.html.sh: Add lib-msvc-compat.
15227         * doc/gnulib.texi: Link to new section.
15228         * m4/ld-output-def.m4: New file.
15229         * doc/ld-output-def.texi: New file.
15230
15231 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15232
15233         Rename ld-version-script to lib-symbol-versions.  Suggested by
15234         Bruno Haible <bruno@clisp.org>.
15235         * modules/ld-version-script: Renamed to lib-symbol-versions.
15236         * doc/ld-version-script.texi: Fix module name.
15237         * MODULES.html.sh: Add lib-symbol-versions.
15238
15239 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15240
15241         * modules/u64-tests: New file.
15242         * tests/test-u64.c: New file.
15243
15244 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15245
15246         * MODULES.html.sh: Mention u64.
15247         * modules/u64: New module.
15248         * modules/crypto/sha512: Depend on u64 module instead of providing
15249         u64.h.
15250
15251 2009-03-27  Eric Blake  <ebb9@byu.net>
15252
15253         test-strerror: make debugging EAI_SYSTEM easier
15254         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15255         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15256         failure was EAI_SYSTEM.
15257
15258 2009-03-25  Bruno Haible  <bruno@clisp.org>
15259
15260         Fix a problem with --enable-relocatable on Solaris 7.
15261         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15262         since 2008-02-24.
15263
15264 2009-03-25  Eric Blake  <ebb9@byu.net>
15265
15266         test-sockets: avoid gcc warning
15267         * tests/test-sockets.c (main): Silence compiler warning.
15268
15269 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         New modules nproc, pthread, contributed by Glen Lenker.
15272
15273         * MODULES.html.sh: Add pthread, nproc.
15274         * lib/nproc.c: New file.
15275         * lib/nproc.h: New file.
15276         * lib/pthread.in.h: New file.
15277         * m4/pthread.m4: New file.
15278         * modules/nproc: New file.
15279         * modules/pthread: New file.
15280
15281 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15282
15283         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15284         New variable.
15285
15286 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15287
15288         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15289         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15290         * tests/test-filevercmp.c: Add tests for backup suffixes.
15291
15292 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15293
15294         * modules/stdlib (Depends-on): Add stdint, needed when defining
15295         struct random_data on, for example, HP-UX 10.20.  Reported by
15296         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15297
15298 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15299
15300         * lib/readline.c (readline): Call fflush on stdout after printing
15301         prompt.
15302
15303 2009-03-20  Bruno Haible  <bruno@clisp.org>
15304
15305         Remove dependency from 'close' module to -lws2_32 on native Windows.
15306         * lib/close-hook.h: New file.
15307         * lib/close-hook.c: New file.
15308         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15309         w32sock.h.
15310         (_gl_close_fd_maybe_socket): Remove function.
15311         (rpl_close): Invoke execute_all_close_hooks instead of
15312         _gl_close_fd_maybe_socket.
15313         * lib/sockets.c: Include close-hook.h, w32sock.h.
15314         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15315         (close_sockets_hook): New variable.
15316         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15317         (gl_sockets_cleanup): Unregister it.
15318         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15319         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15320         * modules/close-hook: New file.
15321         * modules/close (Files): Remove lib/w32sock.h.
15322         (Depends-on): Add close-hook.
15323         (Link): Remove section.
15324         * modules/sockets (Files): Add lib/w32sock.h.
15325         (Depends-on): Add close-hook.
15326         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15327         invocation.
15328         * NEWS: Mention that LIB_CLOSE is gone.
15329
15330 2009-03-23  Eric Blake  <ebb9@byu.net>
15331
15332         signal-tests: test previous patch
15333         * tests/test-signal.c: New file.
15334         * modules/signal-tests: Likewise.
15335
15336         signal.h: always support 'volatile sig_atomic_t'
15337         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15338         (gl_SIGNAL_H_DEFAULTS): Add a default.
15339         * modules/signal (Makefile.am): Substitute if needed.
15340         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15341         users can blindly add volatile.
15342         * doc/posix-headers/signal.texi (signal.h): Document it.
15343         Reported by Matthew Woehlke.
15344
15345 2009-03-23  Jim Meyering  <meyering@redhat.com>
15346
15347         pathmax: PATH_MAX: use pathconf only when available
15348         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15349         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15350         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15351         This avoids a link failure in a PSP cross-compilation environment
15352         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15353
15354         * lib/vasnprintf.c (divide): Fix typo in comment.
15355
15356 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15357
15358         * gnulib-tool (func_filter_filelist): Fix comment.
15359
15360 2009-03-20  Bruno Haible  <bruno@clisp.org>
15361
15362         Make sockets.h self-contained.
15363         * lib/sockets.c: Include sockets.h first.
15364         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15365
15366 2009-03-19  Eric Blake  <ebb9@byu.net>
15367
15368         doc: mention more functions added in cygwin 1.7.0
15369         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15370         addition.
15371         * doc/posix-functions/log2f.texi: Likewise.
15372
15373 2009-03-19  Jim Meyering  <meyering@redhat.com>
15374
15375         fsusage: avoid syntax error due to statement-before-declaration
15376         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15377         after all declarations.  Reported by Matthew Woehlke in
15378         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15379
15380 2009-03-18  Eric Blake  <ebb9@byu.net>
15381
15382         build-aux/compile: sync from automake
15383         * build-aux/compile: New file, from automake.
15384         * config/srclist.txt: Mention build-aux/compile.
15385
15386 2009-03-17  Bruno Haible  <bruno@clisp.org>
15387
15388         * lib/git-merge-changelog.c: Fix typo in comment.
15389         Reported by Reuben Thomas <rrt@sc3d.org>.
15390
15391 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15392
15393         * m4/regex.m4: update and improve help for
15394         --without-included-regex.
15395
15396 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15397
15398         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15399         failure on missing include files.
15400
15401 2009-03-17  Eric Blake  <ebb9@byu.net>
15402
15403         doc: mention more functions added in cygwin 1.7.0
15404         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15405         addition.
15406         * doc/posix-functions/fwscanf.texi: Likewise.
15407         * doc/posix-functions/swprintf.texi: Likewise.
15408         * doc/posix-functions/swscanf.texi: Likewise.
15409         * doc/posix-functions/vfwprintf.texi: Likewise.
15410         * doc/posix-functions/vfwscanf.texi: Likewise.
15411         * doc/posix-functions/vswprintf.texi: Likewise.
15412         * doc/posix-functions/vswscanf.texi: Likewise.
15413         * doc/posix-functions/vwprintf.texi: Likewise.
15414         * doc/posix-functions/vwscanf.texi: Likewise.
15415         * doc/posix-functions/wcscasecmp.texi: Likewise.
15416         * doc/posix-functions/wcsdup.texi: Likewise.
15417         * doc/posix-functions/wcsftime.texi: Likewise.
15418         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15419         * doc/posix-functions/wprintf.texi: Likewise.
15420         * doc/posix-functions/wscanf.texi: Likewise.
15421         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15422
15423 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15424
15425         maint.mk: really add $(AM_MAKEFLAGS)
15426         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15427         was inadvertently omitted in the last commit.
15428         Spotted by Bruno Haible.
15429
15430         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15431         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15432         $(AM_MAKEFLAGS)' rather than plain `make'.
15433
15434         gnulib-tool: execute $MAKE not make
15435         * gnulib-tool: Default $MAKE to 'make'.
15436         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15437         than make.  Initialize $MAKE in the do-autobuild script.
15438
15439         gnulib-tool: use $MAKE not make in generated files
15440         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15441         make, in generated files.  Initialize $MAKE in the do-autobuild
15442         script.
15443
15444         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15445
15446         GNUmakefile: disable parallelism only for multiple, recursive targets
15447         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15448         additions in the Makefile.
15449         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15450         by Automake.
15451         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15452         are listed on the command line and at least one of them is
15453         listed in $(ALL_RECURSIVE_TARGETS).
15454
15455 2009-03-14  Bruno Haible  <bruno@clisp.org>
15456
15457         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15458         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15459         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15460         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15461         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15462         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15463         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15464         unistr/u8-uctomb.
15465         * modules/unistr/u8-strchr (Depends-on): Likewise.
15466         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15467         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15468         unistr/u16-uctomb.
15469         * modules/unistr/u16-strchr (Depends-on): Likewise.
15470         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15471
15472 2009-03-12  Bruno Haible  <bruno@clisp.org>
15473
15474         Work around select() bug on Interix 3.5.
15475         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15476         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15477         * m4/select.m4: New file.
15478         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15479         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15480         * modules/select (Files): Add m4/select.m4.
15481         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15482         * modules/nanosleep (Depends-on): Add select.
15483         * modules/poll (Depends-on): Likewise.
15484         * doc/posix-functions/select.texi: Mention the Interix bug.
15485         Reported by Markus Duft <mduft@gentoo.org>.
15486
15487         * lib/select.c: Renamed from lib/winsock-select.c.
15488         * modules/select (Files): Add lib/select.c, remove
15489         lib/winsock-select.c.
15490         (configure.ac): Update.
15491
15492 2009-03-12  Jim Meyering  <meyering@redhat.com>
15493
15494         avoid gcc warnings about unused macro definitions
15495         * lib/readtokens.c (STREQ): Remove unused definition.
15496         * lib/xmalloc.c (SIZE_MAX): Likewise.
15497         * lib/openat-die.c (N_): Likewise.
15498         * lib/mountlist.c (SIZE_MAX): Remove definition.
15499         Instead, include <stdint.h>.
15500         * lib/readutmp.c: Likewise.
15501         * modules/readutmp (Depends-on): Add stdint.
15502         * modules/mountlist (Depends-on): Add stdint.
15503         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15504
15505 2009-03-10  Bruno Haible  <bruno@clisp.org>
15506
15507         Tests for module 'mbmemcasecoll'.
15508         * modules/mbmemcasecoll-tests: New file.
15509         * tests/test-mbmemcasecoll1.sh: New file.
15510         * tests/test-mbmemcasecoll2.sh: New file.
15511         * tests/test-mbmemcasecoll3.sh: New file.
15512         * tests/test-mbmemcasecoll.c: New file.
15513
15514         New module 'mbmemcasecoll'.
15515         * lib/mbmemcasecoll.h: New file.
15516         * lib/mbmemcasecoll.c: New file.
15517         * modules/mbmemcasecoll: New file.
15518
15519         * tests/test-mbmemcasecmp.h: New file, extracted from
15520         tests/test-mbmemcasecmp.c.
15521         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15522         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15523         (main): Update.
15524         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15525
15526 2009-03-09  Bruno Haible  <bruno@clisp.org>
15527
15528         Tests for module 'mbmemcasecmp'.
15529         * modules/mbmemcasecmp-tests: New file.
15530         * tests/test-mbmemcasecmp1.sh: New file.
15531         * tests/test-mbmemcasecmp2.sh: New file.
15532         * tests/test-mbmemcasecmp3.sh: New file.
15533         * tests/test-mbmemcasecmp.c: New file.
15534
15535         New module 'mbmemcasecmp'.
15536         * lib/mbmemcasecmp.h: New file.
15537         * lib/mbmemcasecmp.c: New file.
15538         * modules/mbmemcasecmp: New file.
15539
15540 2009-03-09  Bruno Haible  <bruno@clisp.org>
15541
15542         Tests for module 'unicase/ulc-casecoll'.
15543         * modules/unicase/ulc-casecoll-tests: New file.
15544         * tests/unicase/test-ulc-casecoll1.sh: New file.
15545         * tests/unicase/test-ulc-casecoll2.sh: New file.
15546         * tests/unicase/test-ulc-casecoll.c: New file.
15547
15548         New module 'unicase/ulc-casecoll'.
15549         * lib/unicase.h (ulc_casecoll): New declaration.
15550         * lib/unicase/ulc-casecoll.c: New file.
15551         * modules/unicase/ulc-casecoll: New file.
15552
15553         New module 'unicase/ulc-casexfrm'.
15554         * lib/unicase.h (ulc_casexfrm): New declaration.
15555         * lib/unicase/ulc-casexfrm.c: New file.
15556         * modules/unicase/ulc-casexfrm: New file.
15557
15558 2009-03-09  Bruno Haible  <bruno@clisp.org>
15559
15560         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15561         invocations.
15562
15563         * m4/mbscasecmp.m4: Remove file.
15564         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15565         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15566
15567         * m4/mbscasestr.m4: Remove file.
15568         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15569         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15570
15571         * m4/mbschr.m4: Remove file.
15572         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15573         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15574
15575         * m4/mbscspn.m4: Remove file.
15576         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15577         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15578
15579         * m4/mbslen.m4: Remove file.
15580         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15581         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15582
15583         * m4/mbsncasecmp.m4: Remove file.
15584         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15585         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15586
15587         * m4/mbsnlen.m4: Remove file.
15588         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15589         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15590
15591         * m4/mbspbrk.m4: Remove file.
15592         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15593         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15594
15595         * m4/mbspcasecmp.m4: Remove file.
15596         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15597         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15598
15599         * m4/mbsrchr.m4: Remove file.
15600         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15601         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15602
15603         * m4/mbssep.m4: Remove file.
15604         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15605         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15606
15607         * m4/mbsspn.m4: Remove file.
15608         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15609         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15610
15611         * m4/mbsstr.m4: Remove file.
15612         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15613         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15614
15615         * m4/mbstok_r.m4: Remove file.
15616         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15617         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15618
15619         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15620
15621         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15622         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15623
15624         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15625
15626 2009-03-08  Bruno Haible  <bruno@clisp.org>
15627
15628         Tests for module 'unicase/ulc-casecmp'.
15629         * modules/unicase/ulc-casecmp-tests: New file.
15630         * tests/unicase/test-ulc-casecmp1.sh: New file.
15631         * tests/unicase/test-ulc-casecmp2.sh: New file.
15632         * tests/unicase/test-ulc-casecmp.c: New file.
15633
15634         New module 'unicase/ulc-casecmp'.
15635         * lib/unicase.h (ulc_casecmp): New declaration.
15636         * lib/unicase/ulc-casecmp.c: New file.
15637         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15638         'const SRC_UNIT *'.
15639         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
15640         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
15641         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
15642         * modules/unicase/ulc-casecmp: New file.
15643
15644         Tests for module 'unicase/u32-is-cased'.
15645         * modules/unicase/u32-is-cased-tests: New file.
15646         * tests/unicase/test-u32-is-cased.c: New file.
15647
15648         Tests for module 'unicase/u16-is-cased'.
15649         * modules/unicase/u16-is-cased-tests: New file.
15650         * tests/unicase/test-u16-is-cased.c: New file.
15651
15652         Tests for module 'unicase/u8-is-cased'.
15653         * modules/unicase/u8-is-cased-tests: New file.
15654         * tests/unicase/test-u8-is-cased.c: New file.
15655         * tests/unicase/test-is-cased.h: New file.
15656
15657         New module 'unicase/u32-is-cased'.
15658         * lib/unicase/u32-is-cased.c: New file.
15659         * modules/unicase/u32-is-cased: New file.
15660
15661         New module 'unicase/u16-is-cased'.
15662         * lib/unicase/u16-is-cased.c: New file.
15663         * modules/unicase/u16-is-cased: New file.
15664
15665         New module 'unicase/u8-is-cased'.
15666         * lib/unicase/u8-is-cased.c: New file.
15667         * lib/unicase/u-is-cased.h: New file.
15668         * modules/unicase/u8-is-cased: New file.
15669
15670         Tests for module 'unicase/u32-is-casefolded'.
15671         * modules/unicase/u32-is-casefolded-tests: New file.
15672         * tests/unicase/test-u32-is-casefolded.c: New file.
15673
15674         Tests for module 'unicase/u16-is-casefolded'.
15675         * modules/unicase/u16-is-casefolded-tests: New file.
15676         * tests/unicase/test-u16-is-casefolded.c: New file.
15677
15678         Tests for module 'unicase/u8-is-casefolded'.
15679         * modules/unicase/u8-is-casefolded-tests: New file.
15680         * tests/unicase/test-u8-is-casefolded.c: New file.
15681         * tests/unicase/test-is-casefolded.h: New file.
15682
15683         New module 'unicase/u32-is-casefolded'.
15684         * lib/unicase/u32-is-casefolded.c: New file.
15685         * modules/unicase/u32-is-casefolded: New file.
15686
15687         New module 'unicase/u16-is-casefolded'.
15688         * lib/unicase/u16-is-casefolded.c: New file.
15689         * modules/unicase/u16-is-casefolded: New file.
15690
15691         New module 'unicase/u8-is-casefolded'.
15692         * lib/unicase/u8-is-casefolded.c: New file.
15693         * modules/unicase/u8-is-casefolded: New file.
15694
15695         Tests for module 'unicase/u32-is-titlecase'.
15696         * modules/unicase/u32-is-titlecase-tests: New file.
15697         * tests/unicase/test-u32-is-titlecase.c: New file.
15698
15699         Tests for module 'unicase/u16-is-titlecase'.
15700         * modules/unicase/u16-is-titlecase-tests: New file.
15701         * tests/unicase/test-u16-is-titlecase.c: New file.
15702
15703         Tests for module 'unicase/u8-is-titlecase'.
15704         * modules/unicase/u8-is-titlecase-tests: New file.
15705         * tests/unicase/test-u8-is-titlecase.c: New file.
15706         * tests/unicase/test-is-titlecase.h: New file.
15707
15708         New module 'unicase/u32-is-titlecase'.
15709         * lib/unicase/u32-is-titlecase.c: New file.
15710         * modules/unicase/u32-is-titlecase: New file.
15711
15712         New module 'unicase/u16-is-titlecase'.
15713         * lib/unicase/u16-is-titlecase.c: New file.
15714         * modules/unicase/u16-is-titlecase: New file.
15715
15716         New module 'unicase/u8-is-titlecase'.
15717         * lib/unicase/u8-is-titlecase.c: New file.
15718         * modules/unicase/u8-is-titlecase: New file.
15719
15720         Tests for module 'unicase/u32-is-lowercase'.
15721         * modules/unicase/u32-is-lowercase-tests: New file.
15722         * tests/unicase/test-u32-is-lowercase.c: New file.
15723
15724         Tests for module 'unicase/u16-is-lowercase'.
15725         * modules/unicase/u16-is-lowercase-tests: New file.
15726         * tests/unicase/test-u16-is-lowercase.c: New file.
15727
15728         Tests for module 'unicase/u8-is-lowercase'.
15729         * modules/unicase/u8-is-lowercase-tests: New file.
15730         * tests/unicase/test-u8-is-lowercase.c: New file.
15731         * tests/unicase/test-is-lowercase.h: New file.
15732
15733         New module 'unicase/u32-is-lowercase'.
15734         * lib/unicase/u32-is-lowercase.c: New file.
15735         * modules/unicase/u32-is-lowercase: New file.
15736
15737         New module 'unicase/u16-is-lowercase'.
15738         * lib/unicase/u16-is-lowercase.c: New file.
15739         * modules/unicase/u16-is-lowercase: New file.
15740
15741         New module 'unicase/u8-is-lowercase'.
15742         * lib/unicase/u8-is-lowercase.c: New file.
15743         * modules/unicase/u8-is-lowercase: New file.
15744
15745         Tests for module 'unicase/u32-is-uppercase'.
15746         * modules/unicase/u32-is-uppercase-tests: New file.
15747         * tests/unicase/test-u32-is-uppercase.c: New file.
15748
15749         Tests for module 'unicase/u16-is-uppercase'.
15750         * modules/unicase/u16-is-uppercase-tests: New file.
15751         * tests/unicase/test-u16-is-uppercase.c: New file.
15752
15753         Tests for module 'unicase/u8-is-uppercase'.
15754         * modules/unicase/u8-is-uppercase-tests: New file.
15755         * tests/unicase/test-u8-is-uppercase.c: New file.
15756         * tests/unicase/test-is-uppercase.h: New file.
15757
15758         New module 'unicase/u32-is-uppercase'.
15759         * lib/unicase/u32-is-uppercase.c: New file.
15760         * modules/unicase/u32-is-uppercase: New file.
15761
15762         New module 'unicase/u16-is-uppercase'.
15763         * lib/unicase/u16-is-uppercase.c: New file.
15764         * modules/unicase/u16-is-uppercase: New file.
15765
15766         New module 'unicase/u8-is-uppercase'.
15767         * lib/unicase/u8-is-uppercase.c: New file.
15768         * modules/unicase/u8-is-uppercase: New file.
15769
15770         New module 'unicase/u32-is-invariant'.
15771         * lib/unicase/u32-is-invariant.c: New file.
15772         * modules/unicase/u32-is-invariant: New file.
15773
15774         New module 'unicase/u16-is-invariant'.
15775         * lib/unicase/u16-is-invariant.c: New file.
15776         * modules/unicase/u16-is-invariant: New file.
15777
15778         New module 'unicase/u8-is-invariant'.
15779         * lib/unicase/u8-is-invariant.c: New file.
15780         * lib/unicase/invariant.h: New file.
15781         * lib/unicase/u-is-invariant.h: New file.
15782         * modules/unicase/u8-is-invariant: New file.
15783
15784         Tests for module 'unicase/u32-casecoll'.
15785         * modules/unicase/u32-casecoll-tests: New file.
15786         * tests/unicase/test-u32-casecoll.c: New file.
15787
15788         Tests for module 'unicase/u16-casecoll'.
15789         * modules/unicase/u16-casecoll-tests: New file.
15790         * tests/unicase/test-u16-casecoll.c: New file.
15791
15792         Tests for module 'unicase/u8-casecoll'.
15793         * modules/unicase/u8-casecoll-tests: New file.
15794         * tests/unicase/test-u8-casecoll.c: New file.
15795
15796         New module 'unicase/u32-casecoll'.
15797         * lib/unicase/u32-casecoll.c: New file.
15798         * modules/unicase/u32-casecoll: New file.
15799
15800         New module 'unicase/u16-casecoll'.
15801         * lib/unicase/u16-casecoll.c: New file.
15802         * modules/unicase/u16-casecoll: New file.
15803
15804         New module 'unicase/u8-casecoll'.
15805         * lib/unicase/u8-casecoll.c: New file.
15806         * lib/unicase/u-casecoll.h: New file.
15807         * modules/unicase/u8-casecoll: New file.
15808
15809         New module 'unicase/u32-casexfrm'.
15810         * lib/unicase/u32-casexfrm.c: New file.
15811         * modules/unicase/u32-casexfrm: New file.
15812
15813         New module 'unicase/u16-casexfrm'.
15814         * lib/unicase/u16-casexfrm.c: New file.
15815         * modules/unicase/u16-casexfrm: New file.
15816
15817         New module 'unicase/u8-casexfrm'.
15818         * lib/unicase/u8-casexfrm.c: New file.
15819         * lib/unicase/u-casexfrm.h: New file.
15820         * modules/unicase/u8-casexfrm: New file.
15821
15822         Tests for module 'unicase/u32-casecmp'.
15823         * modules/unicase/u32-casecmp-tests: New file.
15824         * tests/unicase/test-u32-casecmp.c: New file.
15825
15826         Tests for module 'unicase/u16-casecmp'.
15827         * modules/unicase/u16-casecmp-tests: New file.
15828         * tests/unicase/test-u16-casecmp.c: New file.
15829
15830         Tests for module 'unicase/u8-casecmp'.
15831         * modules/unicase/u8-casecmp-tests: New file.
15832         * tests/unicase/test-u8-casecmp.c: New file.
15833         * tests/unicase/test-casecmp.h: New file.
15834
15835         New module 'unicase/u32-casecmp'.
15836         * lib/unicase/u32-casecmp.c: New file.
15837         * modules/unicase/u32-casecmp: New file.
15838
15839         New module 'unicase/u16-casecmp'.
15840         * lib/unicase/u16-casecmp.c: New file.
15841         * modules/unicase/u16-casecmp: New file.
15842
15843         New module 'unicase/u8-casecmp'.
15844         * lib/unicase/u8-casecmp.c: New file.
15845         * lib/unicase/u-casecmp.h: New file.
15846         * modules/unicase/u8-casecmp: New file.
15847
15848         Tests for module 'unicase/u32-casefold'.
15849         * modules/unicase/u32-casefold-tests: New file.
15850         * tests/unicase/test-u32-casefold.c: New file.
15851
15852         Tests for module 'unicase/u16-casefold'.
15853         * modules/unicase/u16-casefold-tests: New file.
15854         * tests/unicase/test-u16-casefold.c: New file.
15855
15856         Tests for module 'unicase/u8-casefold'.
15857         * modules/unicase/u8-casefold-tests: New file.
15858         * tests/unicase/test-u8-casefold.c: New file.
15859
15860         New module 'unicase/u32-casefold'.
15861         * lib/unicase/u32-casefold.c: New file.
15862         * modules/unicase/u32-casefold: New file.
15863
15864         New module 'unicase/u16-casefold'.
15865         * lib/unicase/u16-casefold.c: New file.
15866         * modules/unicase/u16-casefold: New file.
15867
15868         New module 'unicase/u8-casefold'.
15869         * lib/unicase/u8-casefold.c: New file.
15870         * lib/unicase/u-casefold.h: New file.
15871         * modules/unicase/u8-casefold: New file.
15872
15873         New module 'unicase/tocasefold'.
15874         * lib/unicase/casefold.h: New file.
15875         * lib/unicase/tocasefold.c: New file.
15876         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
15877         * modules/unicase/tocasefold: New file.
15878
15879         Tests for module 'unicase/u32-totitle'.
15880         * modules/unicase/u32-totitle-tests: New file.
15881         * tests/unicase/test-u32-totitle.c: New file.
15882
15883         Tests for module 'unicase/u16-totitle'.
15884         * modules/unicase/u16-totitle-tests: New file.
15885         * tests/unicase/test-u16-totitle.c: New file.
15886
15887         Tests for module 'unicase/u8-totitle'.
15888         * modules/unicase/u8-totitle-tests: New file.
15889         * tests/unicase/test-u8-totitle.c: New file.
15890
15891         New module 'unicase/u32-totitle'.
15892         * lib/unicase/u32-totitle.c: New file.
15893         * modules/unicase/u32-totitle: New file.
15894
15895         New module 'unicase/u16-totitle'.
15896         * lib/unicase/u16-totitle.c: New file.
15897         * modules/unicase/u16-totitle: New file.
15898
15899         New module 'unicase/u8-totitle'.
15900         * lib/unicase/u8-totitle.c: New file.
15901         * lib/unicase/u-totitle.h: New file.
15902         * modules/unicase/u8-totitle: New file.
15903
15904         Tests for module 'unicase/u32-tolower'.
15905         * modules/unicase/u32-tolower-tests: New file.
15906         * tests/unicase/test-u32-tolower.c: New file.
15907
15908         Tests for module 'unicase/u16-tolower'.
15909         * modules/unicase/u16-tolower-tests: New file.
15910         * tests/unicase/test-u16-tolower.c: New file.
15911
15912         Tests for module 'unicase/u8-tolower'.
15913         * modules/unicase/u8-tolower-tests: New file.
15914         * tests/unicase/test-u8-tolower.c: New file.
15915
15916         New module 'unicase/u32-tolower'.
15917         * lib/unicase/u32-tolower.c: New file.
15918         * modules/unicase/u32-tolower: New file.
15919
15920         New module 'unicase/u16-tolower'.
15921         * lib/unicase/u16-tolower.c: New file.
15922         * modules/unicase/u16-tolower: New file.
15923
15924         New module 'unicase/u8-tolower'.
15925         * lib/unicase/u8-tolower.c: New file.
15926         * modules/unicase/u8-tolower: New file.
15927
15928         Tests for module 'unicase/u32-toupper'.
15929         * modules/unicase/u32-toupper-tests: New file.
15930         * tests/unicase/test-u32-toupper.c: New file.
15931
15932         Tests for module 'unicase/u16-toupper'.
15933         * modules/unicase/u16-toupper-tests: New file.
15934         * tests/unicase/test-u16-toupper.c: New file.
15935
15936         Tests for module 'unicase/u8-toupper'.
15937         * modules/unicase/u8-toupper-tests: New file.
15938         * tests/unicase/test-u8-toupper.c: New file.
15939
15940         New module 'unicase/u32-toupper'.
15941         * lib/unicase/u32-toupper.c: New file.
15942         * modules/unicase/u32-toupper: New file.
15943
15944         New module 'unicase/u16-toupper'.
15945         * lib/unicase/u16-toupper.c: New file.
15946         * modules/unicase/u16-toupper: New file.
15947
15948         New module 'unicase/u8-toupper'.
15949         * lib/unicase/u8-toupper.c: New file.
15950         * modules/unicase/u8-toupper: New file.
15951
15952         New module 'unicase/u32-casemap'.
15953         * lib/unicase/u32-casemap.c: New file.
15954         * modules/unicase/u32-casemap: New file.
15955
15956         New module 'unicase/u16-casemap'.
15957         * lib/unicase/u16-casemap.c: New file.
15958         * modules/unicase/u16-casemap: New file.
15959
15960         New module 'unicase/u8-casemap'.
15961         * lib/unicase/unicasemap.h: New file.
15962         * lib/unicase/u8-casemap.c: New file.
15963         * lib/unicase/u-casemap.h: New file.
15964         * modules/unicase/u8-casemap: New file.
15965
15966         New module 'unicase/special-casing'.
15967         * lib/unicase/special-casing.h: New file.
15968         * lib/unicase/special-casing.c: New file.
15969         * lib/unicase/special-casing-table.gperf: New file, generated by
15970         gen-uni-tables.c.
15971         * modules/unicase/special-casing: New file.
15972
15973         Tests for module 'unicase/locale-language'.
15974         * modules/unicase/locale-language-tests: New file.
15975         * tests/unicase/test-locale-language.sh: New file.
15976         * tests/unicase/test-locale-language.c: New file.
15977
15978         New module 'unicase/locale-language'.
15979         * lib/unicase/locale-language.c: New file.
15980         * lib/unicase/locale-languages.gperf: New file.
15981         * modules/unicase/locale-language: New file.
15982
15983         Generate more tables for case conversion and case folding.
15984         * lib/gen-uni-tables.c (SCC_*): New enum items.
15985         (struct special_casing_rule): New type.
15986         (casing_rules, num_casing_rules, allocated_casing_rules): New
15987         variables.
15988         (add_casing_rule, fill_casing_rules): New functions.
15989         (struct casefold_rule): New type.
15990         (casefolding_rules, num_casefolding_rules,
15991         allocated_casefolding_rules): New variables.
15992         (fill_casefolding_rules): New function.
15993         (unicode_casefold): New variable.
15994         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
15995         sort_casing_rules, output_casing_rules): New functions.
15996         (main): Accept to more arguments: SpecialCasing.txt and
15997         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
15998         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
15999         Output mapping for casefolding.
16000
16001         * lib/unicase.h: Include stdbool.h, uninorm.h.
16002         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16003         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16004         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16005         arguments.
16006         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16007         resultp arguments.
16008         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16009         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16010         resultp arguments.
16011         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16012         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16013         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16014         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16015         declarations.
16016         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16017
16018 2009-03-08  Bruno Haible  <bruno@clisp.org>
16019
16020         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16021         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16022         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16023         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16024
16025 2009-03-07  Bruno Haible  <bruno@clisp.org>
16026
16027         Adjust u*_normcmp, u*_normcoll API.
16028         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16029         u16_normcoll, u32_normcoll): Change failure conventions.
16030         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16031         errno and return -1.
16032         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16033
16034 2009-03-07  Bruno Haible  <bruno@clisp.org>
16035
16036         Tests for module 'uninorm/u32-normcoll'.
16037         * modules/uninorm/u32-normcoll-tests: New file.
16038         * tests/uninorm/test-u32-normcoll.c: New file.
16039
16040         Tests for module 'uninorm/u16-normcoll'.
16041         * modules/uninorm/u16-normcoll-tests: New file.
16042         * tests/uninorm/test-u16-normcoll.c: New file.
16043
16044         Tests for module 'uninorm/u8-normcoll'.
16045         * modules/uninorm/u8-normcoll-tests: New file.
16046         * tests/uninorm/test-u8-normcoll.c: New file.
16047
16048 2009-03-07  Bruno Haible  <bruno@clisp.org>
16049
16050         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16051         tests/uninorm/test-u32-normcmp.c.
16052         * tests/uninorm/test-u32-normcmp.c: Include it.
16053         (test_nonascii): New function, extracted from main. Add some more
16054         tests.
16055         (main): Invoke test_ascii and test_nonascii.
16056         * modules/uninorm/u32-normcmp-tests (Files): Add
16057         tests/uninorm/test-u32-normcmp.h.
16058         (Depends-on): Remove uninorm/u32-normcmp.
16059
16060         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16061         tests/uninorm/test-u16-normcmp.c.
16062         * tests/uninorm/test-u16-normcmp.c: Include it.
16063         (test_nonascii): New function, extracted from main. Add some more
16064         tests.
16065         (main): Invoke test_ascii and test_nonascii.
16066         * modules/uninorm/u16-normcmp-tests (Files): Add
16067         tests/uninorm/test-u16-normcmp.h.
16068         (Depends-on): Remove uninorm/u16-normcmp.
16069
16070         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16071         tests/uninorm/test-u8-normcmp.c.
16072         * tests/uninorm/test-u8-normcmp.c: Include it.
16073         (test_nonascii): New function, extracted from main. Add some more
16074         tests.
16075         (main): Invoke test_ascii and test_nonascii.
16076         * modules/uninorm/u8-normcmp-tests (Files): Add
16077         tests/uninorm/test-u8-normcmp.h.
16078         (Depends-on): Remove uninorm/u8-normcmp.
16079
16080 2009-03-07  Bruno Haible  <bruno@clisp.org>
16081
16082         New module 'uninorm/u32-normcoll'.
16083         * lib/uninorm/u32-normcoll.c: New file.
16084         * modules/uninorm/u32-normcoll: New file.
16085
16086         New module 'uninorm/u16-normcoll'.
16087         * lib/uninorm/u16-normcoll.c: New file.
16088         * modules/uninorm/u16-normcoll: New file.
16089
16090         New module 'uninorm/u8-normcoll'.
16091         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16092         declarations.
16093         * lib/uninorm/u8-normcoll.c: New file.
16094         * lib/uninorm/u-normcoll.h: New file.
16095         * modules/uninorm/u8-normcoll: New file.
16096
16097         New module 'uninorm/u32-normxfrm'.
16098         * lib/uninorm/u32-normxfrm.c: New file.
16099         * modules/uninorm/u32-normxfrm: New file.
16100
16101         New module 'uninorm/u16-normxfrm'.
16102         * lib/uninorm/u16-normxfrm.c: New file.
16103         * modules/uninorm/u16-normxfrm: New file.
16104
16105         New module 'uninorm/u8-normxfrm'.
16106         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16107         declarations.
16108         * lib/uninorm/u8-normxfrm.c: New file.
16109         * lib/uninorm/u-normxfrm.h: New file.
16110         * modules/uninorm/u8-normxfrm: New file.
16111
16112 2009-03-07  Bruno Haible  <bruno@clisp.org>
16113
16114         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16115         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16116         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16117
16118 2009-03-07  Bruno Haible  <bruno@clisp.org>
16119
16120         New module 'memxfrm'.
16121         * lib/memxfrm.h: New file.
16122         * lib/memxfrm.c: New file.
16123         * modules/memxfrm: New file.
16124
16125 2009-03-07  Bruno Haible  <bruno@clisp.org>
16126
16127         New module 'memcmp2'.
16128         * lib/memcmp2.h: New file.
16129         * lib/memcmp2.c: New file.
16130         * modules/memcmp2: New file.
16131
16132 2009-03-07  Bruno Haible  <bruno@clisp.org>
16133
16134         Tests for module 'uninorm/decomposing-form'.
16135         * modules/uninorm/decomposing-form-tests: New file.
16136         * tests/uninorm/test-decomposing-form.c: New file.
16137
16138         New module 'uninorm/decomposing-form'.
16139         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16140         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16141         Add 'decomposing_variant' field.
16142         * lib/uninorm/decomposing-form.c: New file.
16143         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16144         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16145         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16146         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16147         * modules/uninorm/decomposing-form: New file.
16148         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16149         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16150
16151 2009-03-07  Bruno Haible  <bruno@clisp.org>
16152
16153         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16154         strings.
16155
16156 2009-03-06  Bruno Haible  <bruno@clisp.org>
16157
16158         Tests for module 'uninorm/u32-normcmp'.
16159         * tests/uninorm/test-u32-normcmp.c: New file.
16160         * modules/uninorm/u32-normcmp-tests: New file.
16161
16162         Tests for module 'uninorm/u16-normcmp'.
16163         * tests/uninorm/test-u16-normcmp.c: New file.
16164         * modules/uninorm/u16-normcmp-tests: New file.
16165
16166         Tests for module 'uninorm/u8-normcmp'.
16167         * tests/uninorm/test-u8-normcmp.c: New file.
16168         * modules/uninorm/u8-normcmp-tests: New file.
16169
16170         New module 'uninorm/u32-normcmp'.
16171         * lib/uninorm/u32-normcmp.c: New file.
16172         * modules/uninorm/u32-normcmp: New file.
16173
16174         New module 'uninorm/u16-normcmp'.
16175         * lib/uninorm/u16-normcmp.c: New file.
16176         * modules/uninorm/u16-normcmp: New file.
16177
16178         New module 'uninorm/u8-normcmp'.
16179         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
16180         declarations.
16181         * lib/uninorm/u8-normcmp.c: New file.
16182         * lib/uninorm/u-normcmp.h: New file.
16183         * modules/uninorm/u8-normcmp: New file.
16184
16185 2009-03-06  Bruno Haible  <bruno@clisp.org>
16186
16187         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16188         Reported by Eric Blake.
16189
16190 2009-03-06  Eric Blake  <ebb9@byu.net>
16191             Bruno Haible  <bruno@clisp.org>
16192
16193         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16194         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16195         condition.
16196         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16197         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16198         condition.
16199         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16200
16201 2009-03-06  Eric Blake  <ebb9@byu.net>
16202
16203         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16204         to avoid compiler warnings.
16205         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16206
16207 2009-03-05  Bruno Haible  <bruno@clisp.org>
16208
16209         * tests/test-ftell.c (main): Disable test beyond end of file on
16210         FreeMiNT.
16211         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16212
16213 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16214
16215         * lib/filevercmp.c: Move hidden files up in ordering.
16216         * tests/test-filevercmp.c: Add tests for hidden files.
16217
16218 2009-03-04  Bruno Haible  <bruno@clisp.org>
16219
16220         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16221         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16222         AM_CFLAGS.
16223         Reported by Simon Josefsson.
16224
16225 2009-03-03  Bruno Haible  <bruno@clisp.org>
16226
16227         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16228         Reported by Simon Josefsson.
16229
16230         * doc/ld-version-script.texi: Update node reference.
16231
16232 2009-03-03  Bruno Haible  <bruno@clisp.org>
16233
16234         * modules/visibility (License): Change to 'unlimited'.
16235         Suggested by Simon Josefsson.
16236
16237 2009-03-03  Jim Meyering  <meyering@redhat.com>
16238
16239         unlinkdir: cannot_unlink_dir may modify process state
16240         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16241         it's neither thread-safe nor appropriate for use in a library.
16242
16243 2009-03-03  Eric Blake  <ebb9@byu.net>
16244
16245         test-closein: silence test under Darwin
16246         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16247         care if it dies from EPIPE or EBADF.
16248
16249 2009-03-03  Bruno Haible  <bruno@clisp.org>
16250
16251         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16252         earlier.
16253         * doc/visibility.texi: Fix @node and @section.
16254
16255 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16256
16257         * doc/gnulib.texi: Link to sections for ld version script and
16258         visibility.
16259         * doc/visibility.texi: Add @node and @section.
16260         * modules/ld-version-script: New module.
16261         * m4/ld-version-script.m4: New file.
16262         * doc/ld-version-script.texi: New file.
16263
16264 2009-03-02  David Lutterkort  <lutter@redhat.com>
16265
16266         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16268
16269 2009-03-02  Bruno Haible  <bruno@clisp.org>
16270
16271         * doc/visibility.texi: Mention libtool's -export-symbols option.
16272
16273 2009-03-02  Jim Meyering  <meyering@redhat.com>
16274
16275         announce-gen: new option: --no-print-checksums
16276         * build-aux/announce-gen (usage): Describe it.
16277         (print_checksums): Print a newline here, not in the [*] footnote.
16278         (main): Honor it.
16279
16280 2009-03-01  Bruno Haible  <bruno@clisp.org>
16281
16282         Use socklen_t in the native Windows replacements prototypes.
16283         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16284         instead of 'int'.
16285         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16286         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16287         * modules/getsockopt (Depends-on): Add socklen.
16288         * modules/setsockopt (Depends-on): Add socklen.
16289
16290 2009-03-01  Bruno Haible  <bruno@clisp.org>
16291
16292         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16293         least 4.2.
16294
16295 2009-03-01  Eric Blake  <ebb9@byu.net>
16296             Bruno Haible  <bruno@clisp.org>
16297
16298         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16299         error messages.
16300         * lib/wait-process.c (wait_subprocess): Omit error message about
16301         deadly signal sent to the child of termsigp != NULL.
16302
16303 2009-03-01  Eric Blake  <ebb9@byu.net>
16304
16305         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16306
16307 2009-03-01  Bruno Haible  <bruno@clisp.org>
16308
16309         Avoid a gcc warning.
16310         * tests/test-sched.c (b): Make global.
16311         Reported by Eric Blake.
16312
16313 2009-01-19  Martin Lambers  <marlam@marlam.de>
16314
16315         Provide POSIX semantics for socket timeout options on W32.
16316         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16317         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16318         * modules/setsockopt: Depend on sys_time module for struct timeval.
16319         * modules/getsockopt: Depend on sys_time module for struct timeval.
16320
16321 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16322
16323         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16324         __USE_GNU, for consistency with netdb.in.h.
16325         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16326
16327 2009-03-01  Bruno Haible  <bruno@clisp.org>
16328
16329         More support for FreeMiNT.
16330         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16331         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16332
16333 2009-03-01  Bruno Haible  <bruno@clisp.org>
16334
16335         More support for FreeMiNT.
16336         * lib/fpurge.c (fpurge): Correct last commit.
16337         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16338
16339 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16340
16341         Fix unportable awk script in vc-list-files.
16342         * build-aux/vc-list-files: In the replacement awk script, use
16343         substr with a second argument of 1, not zero.
16344         Report by Simon Josefsson.
16345
16346 2009-02-28  Bruno Haible  <bruno@clisp.org>
16347
16348         More support for FreeMiNT.
16349         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16350         to FreeMiNT today.
16351         * lib/fwriting.c (fwriting): Likewise.
16352         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16353
16354 2009-02-28  Bruno Haible  <bruno@clisp.org>
16355
16356         * tests/test-freadseek.c (main): Disable test beyond end of file on
16357         FreeMiNT.
16358         * tests/test-ftello.c (main): Likewise.
16359         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16360
16361 2009-02-28  Bruno Haible  <bruno@clisp.org>
16362
16363         Add tentative support for FreeMiNT.
16364         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16365         * lib/fpurge.c (fpurge): Likewise.
16366         * lib/freadable.c (freadable): Likewise.
16367         * lib/freading.c (freading): Likewise.
16368         * lib/freadptr.c (freadptr): Likewise.
16369         * lib/freadseek.c (freadptrinc): Likewise.
16370         * lib/fseeko.c (rpl_fseeko): Likewise.
16371         * lib/fseterr.c (fseterr): Likewise.
16372         * lib/fwritable.c (fwritable): Likewise.
16373         * lib/fwriting.c (fwriting): Likewise.
16374         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16375         Hourihane.
16376         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16377
16378 2009-02-28  Bruno Haible  <bruno@clisp.org>
16379
16380         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16381         SIGCHLD.
16382         Reported by Jim Meyering.
16383
16384 2009-02-28  Bruno Haible  <bruno@clisp.org>
16385
16386         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16387         Mention the results of these tests on various platforms.
16388         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16389         order.
16390         * doc/posix-functions/printf.texi: Likewise.
16391         * doc/posix-functions/snprintf.texi: Likewise.
16392         * doc/posix-functions/sprintf.texi: Likewise.
16393         * doc/posix-functions/vfprintf.texi: Likewise.
16394         * doc/posix-functions/vprintf.texi: Likewise.
16395         * doc/posix-functions/vsnprintf.texi: Likewise.
16396         * doc/posix-functions/vsprintf.texi: Likewise.
16397         * doc/glibc-functions/obstack_printf.texi: Likewise.
16398         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16399
16400 2009-02-28  Bruno Haible  <bruno@clisp.org>
16401
16402         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16403         Reported by Loïc Minier <lool@dooz.org>.
16404
16405 2009-02-27  Bruno Haible  <bruno@clisp.org>
16406
16407         * gnulib-tool (func_import): Make the sed expression used to create the
16408         sed script for updating the .gitignore file POSIX compliant.
16409         Reported by Eric Blake.
16410
16411 2009-02-27  Bruno Haible  <bruno@clisp.org>
16412
16413         * gnulib-tool (sed): Don't alias as "sed --posix".
16414         Reported by Eric Blake.
16415
16416 2009-02-27  Bruno Haible  <bruno@clisp.org>
16417
16418         Avoid test link errors.
16419         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16420         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16421         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16422         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16423         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16424
16425 2009-02-27  Bruno Haible  <bruno@clisp.org>
16426
16427         Avoid spurious "(cached)" in configure output.
16428         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16429         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16430         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16431         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16432         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16433         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16434         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16435         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16436         Reported by Eric Blake.
16437
16438 2009-02-27  Eric Blake  <ebb9@byu.net>
16439
16440         printf: fix regression in previous patch
16441         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16442
16443 2009-02-27  Bruno Haible  <bruno@clisp.org>
16444
16445         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16446         value.
16447         * lib/stdint.in.h: Likewise.
16448         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16449
16450 2009-02-27  Eric Blake  <ebb9@byu.net>
16451
16452         doc: mention more functions added in cygwin 1.7.0
16453         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16454         addition.
16455         * doc/posix-functions/open_wmemstream.texi: Likewise.
16456         * doc/posix-functions/wcsnlen.texi: Likewise.
16457         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16458         * doc/posix-functions/wcstod.texi: Likewise.
16459         * doc/posix-functions/wcstof.texi: Likewise.
16460         * doc/posix-functions/wcstoimax.texi: Likewise.
16461         * doc/posix-functions/wcstok.texi: Likewise.
16462         * doc/posix-functions/wcstoumax.texi: Likewise.
16463
16464         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16466         * doc/posix-functions/fprintf.texi: Update.
16467         * doc/posix-functions/printf.texi: Update.
16468         * doc/posix-functions/snprintf.texi: Update.
16469         * doc/posix-functions/sprintf.texi: Update.
16470         * doc/posix-functions/vfprintf.texi: Update.
16471         * doc/posix-functions/vprintf.texi: Update.
16472         * doc/posix-functions/vsnprintf.texi: Update.
16473         * doc/posix-functions/vsprintf.texi: Update.
16474         * doc/glibc-functions/obstack_printf.texi: Update.
16475         * doc/glibc-functions/obstack_vprintf.texi: Update.
16476
16477 2009-02-26  Eric Blake  <ebb9@byu.net>
16478
16479         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16480         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16481         compilation bug by using runtime conversion.
16482         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16483         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16484         * modules/ceill-tests (Files): Use nan.h.
16485         * modules/floorl-tests (Files): Likewise.
16486         * modules/frexpl-tests (Files): Likewise.
16487         * modules/isnanl-tests (Files): Likewise.
16488         * modules/ldexpl-tests (Files): Likewise.
16489         * modules/roundl-tests (Files): Likewise.
16490         * modules/truncl-tests (Files): Likewise.
16491         * tests/test-ceill.c (main): Use a working NaN.
16492         * tests/test-floorl.c (main): Likewise.
16493         * tests/test-frexpl.c (main): Likewise.
16494         * tests/test-isnan.c (test_long_double): Likewise.
16495         * tests/test-isnanl.h (main): Likewise.
16496         * tests/test-ldexpl.h (main): Likewise.
16497         * tests/test-roundl.h (main): Likewise.
16498         * tests/test-truncl.h (main): Likewise.
16499         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16500
16501 2009-02-26  Eric Blake  <ebb9@byu.net>
16502             Bruno Haible  <bruno@clisp.org>
16503
16504         Work around a *printf bug with %ls on Solaris.
16505         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16506         precision is specified, sprintf stops converting the wide string
16507         argument when the number of bytes that have been produced by this
16508         conversion equals or exceeds the precision.
16509         * doc/posix-functions/fprintf.texi: Update.
16510         * doc/posix-functions/printf.texi: Update.
16511         * doc/posix-functions/snprintf.texi: Update.
16512         * doc/posix-functions/sprintf.texi: Update.
16513         * doc/posix-functions/vfprintf.texi: Update.
16514         * doc/posix-functions/vprintf.texi: Update.
16515         * doc/posix-functions/vsnprintf.texi: Update.
16516         * doc/posix-functions/vsprintf.texi: Update.
16517         * doc/glibc-functions/obstack_printf.texi: Update.
16518         * doc/glibc-functions/obstack_vprintf.texi: Update.
16519
16520 2009-02-26  Eric Blake  <ebb9@byu.net>
16521
16522         stdlib: favor compiler check of random.h
16523         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16524         to avoid an ObjC random.h installed by Swarm.
16525
16526 2009-02-26  Bruno Haible  <bruno@clisp.org>
16527
16528         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16529         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16530         Reported by Gary V. Vaughan <gary@gnu.org>.
16531
16532 2009-02-26  Bruno Haible  <bruno@clisp.org>
16533
16534         Fix *printf behaviour regarding the %ls directive.
16535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16536         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16537         NEED_PRINTF_DIRECTIVE_LS.
16538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16539         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16540         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16541         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16542         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16543         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16544         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16545         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16546         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16547         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16548         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16549         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16550         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16551         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16552         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16553         * doc/posix-functions/fprintf.texi: Update.
16554         * doc/posix-functions/printf.texi: Update.
16555         * doc/posix-functions/snprintf.texi: Update.
16556         * doc/posix-functions/sprintf.texi: Update.
16557         * doc/posix-functions/vfprintf.texi: Update.
16558         * doc/posix-functions/vprintf.texi: Update.
16559         * doc/posix-functions/vsnprintf.texi: Update.
16560         * doc/posix-functions/vsprintf.texi: Update.
16561         * doc/glibc-functions/obstack_printf.texi: Update.
16562         * doc/glibc-functions/obstack_vprintf.texi: Update.
16563         Reported by Eric Blake.
16564
16565 2009-02-25  Bruno Haible  <bruno@clisp.org>
16566
16567         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16568         with known value.
16569         Reported by Gary V. Vaughan <gary@gnu.org>.
16570
16571 2009-02-25  Bruno Haible  <bruno@clisp.org>
16572
16573         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16574         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16575         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16576         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16577         Reported by Gary V. Vaughan <gary@gnu.org>.
16578
16579 2009-02-25  Bruno Haible  <bruno@clisp.org>
16580
16581         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16582         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16583         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16584         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16585         Reported by Gary V. Vaughan <gary@gnu.org>.
16586
16587 2009-02-25  Eric Blake  <ebb9@byu.net>
16588
16589         tests: skip fseek/ftell tests if ungetc is broken
16590         * m4/ungetc.m4: New file.
16591         * modules/fseek-tests: Split test, so ungetc dependency is
16592         separate from rest of test.
16593         * modules/fseeko-tests: Likewise.
16594         * modules/ftell-tests: Likewise.
16595         * modules/ftello-tests: Likewise.
16596         * tests/test-fseek.c (main): Isolate ungetc dependency.
16597         * tests/test-fseeko.c (main): Likewise.
16598         * tests/test-ftell.c (main): Likewise.
16599         * tests/test-ftello.c (main): Likewise.
16600         * tests/test-fseek2.sh: New file.
16601         * tests/test-fseeko2.sh: Likewise.
16602         * tests/test-ftell2.sh: Likewise.
16603         * tests/test-ftello2.sh: Likewise.
16604
16605 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
16606
16607         test-getaddrinfo: fix usage of skip return code 77
16608         * tests/test-gettaddrinfo.c: Return skip code 77 only
16609         for first occurance of skip (4x77 is not 77)
16610
16611 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16612
16613         strtod: avoid C99 decl-after-statement
16614         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16615
16616 2009-02-24  Eric Blake  <ebb9@byu.net>
16617
16618         strtod: detect HP-UX 11.31 bug
16619         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16620         Reported by Gary V. Vaughan.
16621
16622 2009-02-23  Bruno Haible  <bruno@clisp.org>
16623
16624         Fix invalid read past end of memory block.
16625         * lib/vasnprintf.c (DCHAR_SET): Define.
16626         (local_wcslen): Define only when needed.
16627         (local_strnlen, local_wcsnlen): New functions.
16628         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16629         directives that involve a conversion ourselves.
16630         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16631         wcsnlen, mbrtowc, wcrtomb.
16632         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16633         * tests/test-vasprintf-posix.c (test_function): Likewise.
16634         * tests/test-snprintf-posix.h (test_function): Likewise.
16635         * tests/test-sprintf-posix.h (test_function): Likewise.
16636         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16637
16638 2009-02-22  Bruno Haible  <bruno@clisp.org>
16639
16640         Implement new clarified decomposition of Hangul syllables.
16641         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
16642         of type LTV, return only a pairwise decomposition.
16643         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
16644         Likewise.
16645         * tests/uninorm/test-decomposition.c (main): Updated expected result.
16646         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
16647         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
16648
16649 2009-02-22  Bruno Haible  <bruno@clisp.org>
16650
16651         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
16652         zero-length results and shrink excess allocated memory.
16653         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
16654         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
16655         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
16656         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
16657         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
16658         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
16659         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
16660         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
16661         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
16662         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
16663         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
16664         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
16665
16666 2009-02-21  Bruno Haible  <bruno@clisp.org>
16667
16668         * doc/gnulib.texi: Include safe-alloc.texi earlier.
16669         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
16670         spaces after a period. Put a space between a macro name and its
16671         argument list. Trivial rewordings.
16672         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
16673         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
16674         (main): Return 0 explicitly.
16675
16676 2009-02-21  Bruno Haible  <bruno@clisp.org>
16677
16678         Tests for module 'uninorm/filter'.
16679         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
16680         * modules/uninorm/filter-tests: New file.
16681
16682         New module 'uninorm/filter'.
16683         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
16684         uninorm_filter_flush, uninorm_filter_free): New declarations.
16685         * lib/uninorm/uninorm-filter.c: New file.
16686         * modules/uninorm/filter: New file.
16687
16688 2009-02-21  Bruno Haible  <bruno@clisp.org>
16689
16690         Tests for module 'uninorm/nfkc'.
16691         * tests/uninorm/test-nfkc.c: New file.
16692         * tests/uninorm/test-u8-nfkc.c: New file.
16693         * tests/uninorm/test-u16-nfkc.c: New file.
16694         * tests/uninorm/test-u32-nfkc.c: New file.
16695         * tests/uninorm/test-u32-nfkc-big.sh: New file.
16696         * tests/uninorm/test-u32-nfkc-big.c: New file.
16697         * modules/uninorm/nfkc-tests: New file.
16698
16699         New module 'uninorm/nfkc'.
16700         * lib/uninorm/nfkc.c: New file.
16701         * modules/uninorm/nfkc: New file.
16702
16703         Tests for module 'uninorm/nfkd'.
16704         * tests/uninorm/test-nfkd.c: New file.
16705         * tests/uninorm/test-u8-nfkd.c: New file.
16706         * tests/uninorm/test-u16-nfkd.c: New file.
16707         * tests/uninorm/test-u32-nfkd.c: New file.
16708         * tests/uninorm/test-u32-nfkd-big.sh: New file.
16709         * tests/uninorm/test-u32-nfkd-big.c: New file.
16710         * modules/uninorm/nfkd-tests: New file.
16711
16712         New module 'uninorm/nfkd'.
16713         * lib/uninorm/nfkd.c: New file.
16714         * modules/uninorm/nfkd: New file.
16715
16716         Tests for module 'uninorm/nfc'.
16717         * tests/uninorm/test-nfc.c: New file.
16718         * tests/uninorm/test-u8-nfc.c: New file.
16719         * tests/uninorm/test-u16-nfc.c: New file.
16720         * tests/uninorm/test-u32-nfc.c: New file.
16721         * tests/uninorm/test-u32-nfc-big.sh: New file.
16722         * tests/uninorm/test-u32-nfc-big.c: New file.
16723         * modules/uninorm/nfc-tests: New file.
16724
16725         New module 'uninorm/nfc'.
16726         * lib/uninorm/nfc.c: New file.
16727         * modules/uninorm/nfc: New file.
16728
16729         Tests for module 'uninorm/nfd'.
16730         * tests/uninorm/test-nfd.c: New file.
16731         * tests/uninorm/test-u8-nfd.c: New file.
16732         * tests/uninorm/test-u16-nfd.c: New file.
16733         * tests/uninorm/test-u32-nfd.c: New file.
16734         * tests/uninorm/test-u32-nfd-big.sh: New file.
16735         * tests/uninorm/test-u32-nfd-big.c: New file.
16736         * tests/uninorm/test-u32-normalize-big.h: New file.
16737         * tests/uninorm/test-u32-normalize-big.c: New file.
16738         * tests/uninorm/NormalizationTest.txt: New file, created from
16739         Unicode 5.1.0 NormalizationTest.txt.
16740         * modules/uninorm/nfd-tests: New file.
16741
16742         New module 'uninorm/nfd'.
16743         * lib/uninorm/nfd.c: New file.
16744         * modules/uninorm/nfd: New file.
16745
16746         New module 'uninorm/u32-normalize'.
16747         * lib/uninorm/u32-normalize.c: New file.
16748         * modules/uninorm/u32-normalize: New file.
16749
16750         New module 'uninorm/u16-normalize'.
16751         * lib/uninorm/u16-normalize.c: New file.
16752         * modules/uninorm/u16-normalize: New file.
16753
16754         New module 'uninorm/u8-normalize'.
16755         * lib/uninorm/u8-normalize.c: New file.
16756         * lib/uninorm/normalize-internal.h: New file.
16757         * lib/uninorm/u-normalize-internal.h: New file.
16758         * modules/uninorm/u8-normalize: New file.
16759
16760         New module 'uninorm/decompose-internal'.
16761         * lib/uninorm/decompose-internal.c: New file.
16762         * modules/uninorm/decompose-internal: New file.
16763
16764         Tests for module 'uninorm/composition'.
16765         * tests/uninorm/test-composition.c: New file.
16766         * modules/uninorm/composition-tests: New file.
16767
16768         New module 'uninorm/composition'.
16769         * lib/uninorm/composition.c: New file.
16770         * lib/uninorm/composition-table.gperf: New file, generated by
16771         gen-uni-tables.
16772         * modules/uninorm/composition: New file.
16773
16774         Tests for module 'uninorm/compat-decomposition'.
16775         * tests/uninorm/test-compat-decomposition.c: New file.
16776         * modules/uninorm/compat-decomposition-tests: New file.
16777
16778         New module 'uninorm/compat-decomposition'.
16779         * lib/uninorm/decompose-internal.h: New file.
16780         * lib/uninorm/compat-decomposition.c: New file.
16781         * modules/uninorm/compat-decomposition: New file.
16782
16783         Tests for module 'uninorm/canonical-decomposition'.
16784         * tests/uninorm/test-canonical-decomposition.c: New file.
16785         * modules/uninorm/canonical-decomposition-tests: New file.
16786
16787         New module 'uninorm/canonical-decomposition'.
16788         * lib/uninorm/canonical-decomposition.c: New file.
16789         * modules/uninorm/canonical-decomposition: New file.
16790
16791         Tests for module 'uninorm/decomposition'.
16792         * tests/uninorm/test-decomposition.c: New file.
16793         * modules/uninorm/decomposition-tests: New file.
16794
16795         New module 'uninorm/decomposition'.
16796         * lib/uninorm/decomposition.c: New file.
16797         * modules/uninorm/decomposition: New file.
16798
16799         New module 'uninorm/decomposition-table'.
16800         * lib/uninorm/decomposition-table.h: New file.
16801         * lib/uninorm/decomposition-table.c: New file.
16802         * lib/uninorm/decomposition-table1.h: New file, generated by
16803         gen-uni-tables.
16804         * lib/uninorm/decomposition-table2.h: New file, generated by
16805         gen-uni-tables.
16806         * modules/uninorm/decomposition-table: New file.
16807
16808         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
16809         (UC_DECOMP_*): New enumeration items.
16810         (get_decomposition): New function.
16811         (struct decomp_table): New type.
16812         (output_decomposition, output_decomposition_tables): New functions.
16813         (unicode_composition_exclusions): New variable.
16814         (fill_composition_exclusions, debug_output_composition_tables): New
16815         functions.
16816         (main): Accept one more argument. Invoke fill_composition_exclusions.
16817         Output decomposition and composition tables.
16818
16819         New module 'uninorm/base'.
16820         * lib/uninorm.h: New file.
16821         * lib/unictype.h: Update comment.
16822         * modules/uninorm/base: New file.
16823
16824 2009-02-21  David Lutterkort  <lutter@redhat.com>
16825
16826         Tests for module 'safe-alloc'.
16827         * tests/test-safe-alloc.c: New file.
16828         * modules/safe-alloc-tests: New file.
16829
16830         New module 'safe-alloc'.
16831         * lib/safe-alloc.h: New file.
16832         * lib/safe-alloc.c: New file.
16833         * m4/safe-alloc.m4: New file.
16834         * modules/safe-alloc: New file.
16835         * doc/safe-alloc.texi: New file.
16836         * doc/gnulib.texi: Include it.
16837         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
16838         safe-alloc.
16839
16840 2009-02-18  Bruno Haible  <bruno@clisp.org>
16841
16842         Fix link error on non-glibc systems.
16843         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
16844         variable.
16845         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16846
16847 2009-02-18  Jim Meyering  <meyering@redhat.com>
16848
16849         fts: avoid used-uninitialized error due to recent change
16850         * lib/fts.c (fts_read): Guard uses of the new member,
16851         parent->fts_n_dirs_remaining, since it's not relevant for
16852         the parent of a directory specified on the command-line.
16853
16854 2009-02-17  James Youngman  <jay@gnu.org>
16855             Bruno Haible  <bruno@clisp.org>
16856
16857         * m4/include_next.m4: Reformulate comment.
16858
16859 2009-02-16  Jim Meyering  <meyering@redhat.com>
16860
16861         fts: add #if guards so that the fts_lgpl module still builds
16862         * lib/fts.c: Guard just-added hash-table-using parts with
16863         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
16864         Reported by Simon Josefsson.
16865
16866 2009-02-15  Bruno Haible  <bruno@clisp.org>
16867
16868         * modules/array-mergesort-tests: New file.
16869         * tests/test-array-mergesort.c: New file.
16870
16871         New module 'array-mergesort'.
16872         * modules/array-mergesort: New file.
16873         * lib/array-mergesort.h: New file.
16874
16875 2009-02-15  Bruno Haible  <bruno@clisp.org>
16876
16877         Fix 2009-02-07 commit.
16878         * lib/gen-uni-tables.c (output_predicate, output_category,
16879         output_combclass, output_bidi_category, output_decimal_digit,
16880         output_digit, output_numeric, output_mirror, output_scripts,
16881         output_ident_category, output_simple_mapping): Fix format directives.
16882         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
16883
16884 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
16885
16886         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
16887         fixes are available from IBM.
16888
16889 2009-02-13  Jim Meyering  <meyering@redhat.com>
16890
16891         fts: arrange not to stat non-directories in more cases
16892         This makes GNU find (when it doesn't need to stat each file)
16893         *much* more efficient at traversing reiserfs file systems.
16894         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
16895         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
16896         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
16897         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
16898         (leaf_optimization_applies): New function.
16899         (LCO_hash, LCO_compare): New helper functions.
16900         (link_count_optimize_ok): New function.
16901         (fts_stat): Initialize new member (if dir).
16902         (fts_read): Decrement parent's fts_n_dirs_remaining count if
16903         we've just stat'ed a directory.  Skip the stat call when possible.
16904         ---
16905         Note this AFS-related exchange:
16906         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
16907         and note find's pioctl call in find/fstype.c.
16908         But that is necessary only if you want to enable the
16909         optimization for AFS, and for now, I don't.
16910
16911         fts: move a function definition "up" (no semantic change)
16912         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
16913         "up" to precede upcoming use of a related function.
16914
16915 2009-02-11  Jim Meyering  <meyering@redhat.com>
16916
16917         fts: correct internal computation of nlinks (optimization-related)
16918         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
16919         whether the current entry is a directory, so don't test it.
16920
16921 2009-02-10  Bruno Haible  <bruno@clisp.org>
16922
16923         Tests for module 'uniwbrk/ulc-wordbreaks'.
16924         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
16925         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
16926         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
16927
16928         Tests for module 'uniwbrk/u32-wordbreaks'.
16929         * modules/uniwbrk/u32-wordbreaks-tests: New file.
16930         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
16931
16932         Tests for module 'uniwbrk/u16-wordbreaks'.
16933         * modules/uniwbrk/u16-wordbreaks-tests: New file.
16934         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
16935
16936         Tests for module 'uniwbrk/u8-wordbreaks'.
16937         * modules/uniwbrk/u8-wordbreaks-tests: New file.
16938         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
16939
16940 2009-02-10  Bruno Haible  <bruno@clisp.org>
16941
16942         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
16943         property.
16944         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
16945         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
16946         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
16947
16948 2009-02-10  Simon Josefsson  <simon@josefsson.org>
16949
16950         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
16951         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
16952
16953 2009-02-10  Bruno Haible  <bruno@clisp.org>
16954
16955         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
16956         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
16957         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
16958         * lib/unilbrk/u8-possible-linebreaks.c: Update.
16959         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
16960         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
16961
16962 2009-02-09  Simon Josefsson  <simon@josefsson.org>
16963
16964         * lib/sockets.h (gl_fd_to_handle): New function.
16965
16966         * tests/test-sockets.c: Call gl_fd_to_handle.
16967
16968 2009-02-09  Bruno Haible  <bruno@clisp.org>
16969
16970         * doc/havelib.texi: Document the conventions on bi-arch systems.
16971
16972 2009-02-08  Bruno Haible  <bruno@clisp.org>
16973
16974         Document the AC_LIB_LINKFLAGS macro.
16975         * doc/havelib.texi: New file, mostly written on 2005-05-24.
16976         * doc/gnulib.texi: Include it.
16977
16978 2009-02-08  Bruno Haible  <bruno@clisp.org>
16979
16980         Fix wrong order of sections, compared to TOC.
16981         * doc/gnulib.texi: Include relocatable-maint.texi after the
16982         "Regular expressions" node, not before.
16983
16984 2009-02-08  Bruno Haible  <bruno@clisp.org>
16985
16986         Tests for module 'unicase/totitle'.
16987         * modules/unicase/totitle-tests: New file.
16988
16989         Tests for module 'unicase/tolower'.
16990         * modules/unicase/tolower-tests: New file.
16991
16992         Tests for module 'unicase/toupper'.
16993         * modules/unicase/toupper-tests: New file.
16994         * tests/unicase/test-mapping-part1.h: New file.
16995         * tests/unicase/test-mapping-part2.h: New file.
16996
16997         New module 'unicase/totitle'.
16998         * modules/unicase/totitle: New file.
16999         * lib/unicase/totitle.c: New file.
17000
17001         New module 'unicase/tolower'.
17002         * modules/unicase/tolower: New file.
17003         * lib/unicase/tolower.c: New file.
17004
17005         New module 'unicase/toupper'.
17006         * modules/unicase/toupper: New file.
17007         * lib/unicase/toupper.c: New file.
17008         * lib/unicase/simple-mapping.h: New file.
17009
17010         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17011         (mapping_table): New structure.
17012         (output_simple_mapping): New function.
17013         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17014         * modules/gen-uni-tables (Description): Update.
17015         * lib/unicase/toupper.h: New file, automatically generated by
17016         gen-uni-tables.
17017         * lib/unicase/tolower.h: New file, automatically generated by
17018         gen-uni-tables.
17019         * lib/unicase/totitle.h: New file, automatically generated by
17020         gen-uni-tables.
17021         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17022         gen-uni-tables.
17023         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17024         gen-uni-tables.
17025         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17026         gen-uni-tables.
17027
17028         New module 'unicase/base'.
17029         * modules/unicase/base: New file.
17030         * lib/unicase.h: New file.
17031
17032 2009-02-08  Bruno Haible  <bruno@clisp.org>
17033
17034         New module 'uniwbrk/ulc-wordbreaks'.
17035         * modules/uniwbrk/ulc-wordbreaks: New file.
17036         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17037
17038         New module 'uniwbrk/u32-wordbreaks'.
17039         * modules/uniwbrk/u32-wordbreaks: New file.
17040         * lib/uniwbrk/u32-wordbreaks.c: New file.
17041
17042         New module 'uniwbrk/u16-wordbreaks'.
17043         * modules/uniwbrk/u16-wordbreaks: New file.
17044         * lib/uniwbrk/u16-wordbreaks.c: New file.
17045
17046         New module 'uniwbrk/u8-wordbreaks'.
17047         * modules/uniwbrk/u8-wordbreaks: New file.
17048         * lib/uniwbrk/u8-wordbreaks.c: New file.
17049         * lib/uniwbrk/u-wordbreaks.h: New file.
17050
17051         New module 'uniwbrk/table'.
17052         * modules/uniwbrk/table: New file.
17053         * lib/uniwbrk/wbrktable.h: New file.
17054         * lib/uniwbrk/wbrktable.c: New file.
17055
17056         New module 'uniwbrk/wordbreak-property'.
17057         * modules/uniwbrk/wordbreak-property: New file.
17058         * lib/uniwbrk/wordbreak-property.c: New file.
17059
17060         * lib/gen-uni-tables.c (WBP_*): New enum items.
17061         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17062         (unicode_org_wbp): New variable.
17063         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17064         New functions.
17065         (wbp_table): New structure.
17066         (output_wbp, output_wbrk_tables): New functions.
17067         (main): Accept additional argument. Invoke fill_org_wbp,
17068         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17069         output_wbrk_tables.
17070         * modules/gen-uni-tables (Description): Update.
17071         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17072         gen-uni-tables.
17073
17074         New module 'uniwbrk/base'.
17075         * modules/uniwbrk/base: New file.
17076         * lib/uniwbrk.h: New file.
17077
17078 2009-02-08  Bruno Haible  <bruno@clisp.org>
17079
17080         Update to Unicode 5.1.0.
17081         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17082         U+2185..U+2188.
17083         (is_property_default_ignorable_code_point): Don't include characters
17084         of category Cc or Cs and not-a-characters.
17085         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17086         U+0D79, U+109E, U+109F, U+A60C.
17087         * lib/unictype/bidi_of.h: Regenerated.
17088         * lib/unictype/blocks.h: Regenerated.
17089         * lib/unictype/categ_C.h: Regenerated.
17090         * lib/unictype/categ_Cf.h: Regenerated.
17091         * lib/unictype/categ_Cn.h: Regenerated.
17092         * lib/unictype/categ_L.h: Regenerated.
17093         * lib/unictype/categ_Ll.h: Regenerated.
17094         * lib/unictype/categ_Lm.h: Regenerated.
17095         * lib/unictype/categ_Lo.h: Regenerated.
17096         * lib/unictype/categ_Lu.h: Regenerated.
17097         * lib/unictype/categ_M.h: Regenerated.
17098         * lib/unictype/categ_Mc.h: Regenerated.
17099         * lib/unictype/categ_Me.h: Regenerated.
17100         * lib/unictype/categ_Mn.h: Regenerated.
17101         * lib/unictype/categ_N.h: Regenerated.
17102         * lib/unictype/categ_Nd.h: Regenerated.
17103         * lib/unictype/categ_Nl.h: Regenerated.
17104         * lib/unictype/categ_No.h: Regenerated.
17105         * lib/unictype/categ_P.h: Regenerated.
17106         * lib/unictype/categ_Pd.h: Regenerated.
17107         * lib/unictype/categ_Pe.h: Regenerated.
17108         * lib/unictype/categ_Pf.h: Regenerated.
17109         * lib/unictype/categ_Pi.h: Regenerated.
17110         * lib/unictype/categ_Po.h: Regenerated.
17111         * lib/unictype/categ_Ps.h: Regenerated.
17112         * lib/unictype/categ_S.h: Regenerated.
17113         * lib/unictype/categ_Sk.h: Regenerated.
17114         * lib/unictype/categ_Sm.h: Regenerated.
17115         * lib/unictype/categ_So.h: Regenerated.
17116         * lib/unictype/categ_of.h: Regenerated.
17117         * lib/unictype/combining.h: Regenerated.
17118         * lib/unictype/ctype_alnum.h: Regenerated.
17119         * lib/unictype/ctype_alpha.h: Regenerated.
17120         * lib/unictype/ctype_graph.h: Regenerated.
17121         * lib/unictype/ctype_lower.h: Regenerated.
17122         * lib/unictype/ctype_print.h: Regenerated.
17123         * lib/unictype/ctype_punct.h: Regenerated.
17124         * lib/unictype/ctype_upper.h: Regenerated.
17125         * lib/unictype/decdigit.h: Regenerated.
17126         * lib/unictype/digit.h: Regenerated.
17127         * lib/unictype/mirror.h: Regenerated.
17128         * lib/unictype/numeric.h: Regenerated.
17129         * lib/unictype/pr_alphabetic.h: Regenerated.
17130         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17131         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17132         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17133         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17134         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17135         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17136         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17137         * lib/unictype/pr_combining.h: Regenerated.
17138         * lib/unictype/pr_dash.h: Regenerated.
17139         * lib/unictype/pr_decimal_digit.h: Regenerated.
17140         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17141         * lib/unictype/pr_deprecated.h: Regenerated.
17142         * lib/unictype/pr_diacritic.h: Regenerated.
17143         * lib/unictype/pr_extender.h: Regenerated.
17144         * lib/unictype/pr_format_control.h: Regenerated.
17145         * lib/unictype/pr_grapheme_base.h: Regenerated.
17146         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17147         * lib/unictype/pr_grapheme_link.h: Regenerated.
17148         * lib/unictype/pr_id_continue.h: Regenerated.
17149         * lib/unictype/pr_id_start.h: Regenerated.
17150         * lib/unictype/pr_ideographic.h: Regenerated.
17151         * lib/unictype/pr_ignorable_control.h: Regenerated.
17152         * lib/unictype/pr_lowercase.h: Regenerated.
17153         * lib/unictype/pr_math.h: Regenerated.
17154         * lib/unictype/pr_numeric.h: Regenerated.
17155         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17156         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
17157         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
17158         * lib/unictype/pr_other_id_continue.h: Regenerated.
17159         * lib/unictype/pr_other_lowercase.h: Regenerated.
17160         * lib/unictype/pr_other_math.h: Regenerated.
17161         * lib/unictype/pr_punctuation.h: Regenerated.
17162         * lib/unictype/pr_sentence_terminal.h: Regenerated.
17163         * lib/unictype/pr_soft_dotted.h: Regenerated.
17164         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
17165         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
17166         * lib/unictype/pr_unified_ideograph.h: Regenerated.
17167         * lib/unictype/pr_uppercase.h: Regenerated.
17168         * lib/unictype/pr_xid_continue.h: Regenerated.
17169         * lib/unictype/pr_xid_start.h: Regenerated.
17170         * lib/unictype/pr_zero_width.h: Regenerated.
17171         * lib/unictype/scripts.h: Regenerated.
17172         * lib/unictype/scripts_byname.gperf: Regenerated.
17173         * lib/unictype/sy_java_ident.h: Regenerated.
17174         * lib/unilbrk/lbrkprop1.h: Regenerated.
17175         * lib/unilbrk/lbrkprop2.h: Regenerated.
17176         * tests/unictype/test-categ_C.c: Regenerated.
17177         * tests/unictype/test-categ_Cf.c: Regenerated.
17178         * tests/unictype/test-categ_Cn.c: Regenerated.
17179         * tests/unictype/test-categ_L.c: Regenerated.
17180         * tests/unictype/test-categ_Ll.c: Regenerated.
17181         * tests/unictype/test-categ_Lm.c: Regenerated.
17182         * tests/unictype/test-categ_Lo.c: Regenerated.
17183         * tests/unictype/test-categ_Lu.c: Regenerated.
17184         * tests/unictype/test-categ_M.c: Regenerated.
17185         * tests/unictype/test-categ_Mc.c: Regenerated.
17186         * tests/unictype/test-categ_Me.c: Regenerated.
17187         * tests/unictype/test-categ_Mn.c: Regenerated.
17188         * tests/unictype/test-categ_N.c: Regenerated.
17189         * tests/unictype/test-categ_Nd.c: Regenerated.
17190         * tests/unictype/test-categ_Nl.c: Regenerated.
17191         * tests/unictype/test-categ_No.c: Regenerated.
17192         * tests/unictype/test-categ_P.c: Regenerated.
17193         * tests/unictype/test-categ_Pd.c: Regenerated.
17194         * tests/unictype/test-categ_Pe.c: Regenerated.
17195         * tests/unictype/test-categ_Pf.c: Regenerated.
17196         * tests/unictype/test-categ_Pi.c: Regenerated.
17197         * tests/unictype/test-categ_Po.c: Regenerated.
17198         * tests/unictype/test-categ_Ps.c: Regenerated.
17199         * tests/unictype/test-categ_S.c: Regenerated.
17200         * tests/unictype/test-categ_Sk.c: Regenerated.
17201         * tests/unictype/test-categ_Sm.c: Regenerated.
17202         * tests/unictype/test-categ_So.c: Regenerated.
17203         * tests/unictype/test-ctype_alnum.c: Regenerated.
17204         * tests/unictype/test-ctype_alpha.c: Regenerated.
17205         * tests/unictype/test-ctype_graph.c: Regenerated.
17206         * tests/unictype/test-ctype_lower.c: Regenerated.
17207         * tests/unictype/test-ctype_print.c: Regenerated.
17208         * tests/unictype/test-ctype_punct.c: Regenerated.
17209         * tests/unictype/test-ctype_upper.c: Regenerated.
17210         * tests/unictype/test-decdigit.h: Regenerated.
17211         * tests/unictype/test-digit.h: Regenerated.
17212         * tests/unictype/test-numeric.h: Regenerated.
17213         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17214         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17215         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17216         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17217         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17218         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17219         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17220         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17221         * tests/unictype/test-pr_combining.c: Regenerated.
17222         * tests/unictype/test-pr_dash.c: Regenerated.
17223         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17224         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17225         * tests/unictype/test-pr_deprecated.c: Regenerated.
17226         * tests/unictype/test-pr_diacritic.c: Regenerated.
17227         * tests/unictype/test-pr_extender.c: Regenerated.
17228         * tests/unictype/test-pr_format_control.c: Regenerated.
17229         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17230         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17231         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17232         * tests/unictype/test-pr_id_continue.c: Regenerated.
17233         * tests/unictype/test-pr_id_start.c: Regenerated.
17234         * tests/unictype/test-pr_ideographic.c: Regenerated.
17235         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17236         * tests/unictype/test-pr_lowercase.c: Regenerated.
17237         * tests/unictype/test-pr_math.c: Regenerated.
17238         * tests/unictype/test-pr_numeric.c: Regenerated.
17239         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17240         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17241         Regenerated.
17242         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17243         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17244         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17245         * tests/unictype/test-pr_other_math.c: Regenerated.
17246         * tests/unictype/test-pr_punctuation.c: Regenerated.
17247         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17248         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17249         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17250         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17251         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17252         * tests/unictype/test-pr_uppercase.c: Regenerated.
17253         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17254         * tests/unictype/test-pr_xid_start.c: Regenerated.
17255         * tests/unictype/test-pr_zero_width.c: Regenerated.
17256
17257         Update to Unicode 5.1.0.
17258         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17259         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17260         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17261         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17262         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17263         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17264         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17265         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17266         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17267         (nonspacing_table_ind): Update.
17268         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17269
17270         Update to Unicode 5.1.0.
17271         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17272         code transform.
17273         * lib/uniname/uniname.c (unicode_character_name,
17274         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17275         * lib/uniname/uninames.h: Regenerated.
17276         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17277
17278 2009-02-07  Bruno Haible  <bruno@clisp.org>
17279
17280         Merge gen-ctype and gen-lbrk into a single program.
17281         * lib/gen-uni-tables.c: New file, incorporating
17282         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17283         Add directory prefixes to the names of the generated files.
17284         * lib/unictype/gen-ctype.c: Remove file.
17285         * lib/unilbrk/gen-lbrk.c: Remove file.
17286         * modules/gen-uni-tables: New file.
17287         * modules/unictype/gen-ctype: Remove file.
17288         * modules/unilbrk/gen-lbrk: Remove file.
17289
17290 2009-02-07  Bruno Haible  <bruno@clisp.org>
17291
17292         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17293
17294         New module 'unistr/u32-strcoll'.
17295         * modules/unistr/u32-strcoll: New file.
17296         * lib/unistr/u32-strcoll.c: New file.
17297
17298         New module 'unistr/u16-strcoll'.
17299         * modules/unistr/u16-strcoll: New file.
17300         * lib/unistr/u16-strcoll.c: New file.
17301
17302         New module 'unistr/u8-strcoll'.
17303         * modules/unistr/u8-strcoll: New file.
17304         * lib/unistr/u8-strcoll.c: New file.
17305         * lib/unistr/u-strcoll.h: New file.
17306
17307 2009-02-07  Bruno Haible  <bruno@clisp.org>
17308
17309         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17310         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17311         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17312         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17313         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17314         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17315
17316 2009-02-07  Bruno Haible  <bruno@clisp.org>
17317
17318         Make 64-bit clean.
17319         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17320         output_combclass, output_bidi_category, output_decimal_digit,
17321         output_digit, output_numeric, output_mirror, output_scripts,
17322         output_ident_category): Use proper width specifier in format strings.
17323
17324 2009-02-07  Bruno Haible  <bruno@clisp.org>
17325
17326         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17327         failure behaviour.
17328
17329 2009-02-07  Jim Meyering  <meyering@redhat.com>
17330
17331         regex: avoid compilation failure with upcoming gcc-4.4
17332         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17333         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17334         "... error: integer overflow in preprocessor expression".
17335
17336 2009-02-05  Ben Pfaff  <blp@gnu.org>
17337
17338         Fix link errors on Windows when close module is used.
17339         * modules/close: Add $(LIB_CLOSE) to Link section.
17340         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17341         $(LIB_CLOSE) on Windows.
17342
17343 2009-02-05  Jim Meyering  <meyering@redhat.com>
17344
17345         still avoid unused-parameter warnings, but do it cleanly
17346         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17347         (get_fs_usage): Cast to void instead.
17348         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17349         (dev_from_mount_options, read_file_system_list): Cast to void.
17350         Prompted by Bruno Haible.
17351
17352 2009-02-04  Jim Meyering  <meyering@redhat.com>
17353
17354         fsusage.c: correct copyright year
17355         * lib/fsusage.c: Reflect year in which the change is pushed into
17356
17357         avoid misc. warnings
17358         * lib/fsusage.c (UNUSED_PARAM): Define.
17359         (get_fs_usage): Mark parameter "disk" as unused.
17360         * lib/getugroups.c (getgrent): Use "void" in prototype.
17361         * lib/mountlist.c: Mark unused parameters.
17362         (read_file_system_list): Declare a local with "const".
17363         * lib/nanosleep.c (getnow): Declare static.
17364         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17365
17366         dirfd: set errno upon failure
17367         * lib/dirfd.c: Include <errno.h>.
17368         Set errno to ENOTSUP when returning -1.
17369         * modules/dirfd (Depends-on): Add errno.
17370         Suggested by John Kodis <kodis@comcast.net>.
17371
17372 2009-02-01  Bruno Haible  <bruno@clisp.org>
17373
17374         Don't assume sizeof (long) >= sizeof (void *).
17375         * lib/memcmp.c: Include stdint.h.
17376         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17377         srcp2 to 'const byte *'.
17378         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17379         types to uintptr_t.
17380         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17381         * modules/memcmp (Depends-on): Add stdint.
17382         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17383
17384 2009-01-30  Eric Blake  <ebb9@byu.net>
17385
17386         fix more require-before-expand issues
17387         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17388         expand, AC_PROG_AWK.
17389         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17390
17391 2009-01-28  Eric Blake  <ebb9@byu.net>
17392
17393         version-etc: use consistent URL formatting
17394         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17395         Improve formatting.  Use fputs for string without %.
17396
17397 2009-01-28  Jim Meyering  <meyering@redhat.com>
17398
17399         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17400         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17401         "underquoted definition of NAME" from autoconf-2.59.
17402
17403 2009-01-28  Bruno Haible  <bruno@clisp.org>
17404
17405         * doc/gnulib.texi: Add "Obsolete modules" to index.
17406
17407 2009-01-28  Jim Meyering  <meyering@redhat.com>
17408
17409         useless-if-before-free: recognize more variants
17410         * build-aux/useless-if-before-free: Also recognize e.g.,
17411         if (NULL != p) free (p);
17412
17413 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17414
17415         test-getaddrinfo: skip (don't fail) this test when there's no network
17416         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17417         on the presumption that it means you lack network access.
17418
17419 2009-01-26  Jim Meyering  <meyering@redhat.com>
17420
17421         fflush: avoid warnings on modern systems
17422         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17423         pos and result, into scopes where they're used.
17424
17425 2009-01-26  Eric Blake  <ebb9@byu.net>
17426
17427         Silence warning reintroduced by recent extensions patch.
17428         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17429         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17430         autoconf.
17431
17432         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17433         * m4/00gnulib.m4: New file.
17434         * gnulib-tool (func_get_filelist): Always use it.
17435         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17436         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17437
17438 2009-01-25  Bruno Haible  <bruno@clisp.org>
17439
17440         Make test-quotearg work on MacOS X and AIX.
17441         * tests/test-quotearg.sh: New file.
17442         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17443         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17444         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17445         include <libintl.h>.
17446         (fake_locale): Remove variable.
17447         (gettext, dgettext, dcgettext): Remove functions.
17448         (main): Instead of setting a fake locale, set a real locale. Call
17449         textdomain and bindtextdomain.
17450         * modules/quotearg-tests (Files): Add the new files.
17451         (Depends-on): Add gettext, setenv, unsetenv.
17452         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17453         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17454         Augment TESTS_ENVIRONMENT.
17455
17456 2009-01-25  Bruno Haible  <bruno@clisp.org>
17457
17458         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17459         fr_FR.ISO8859-1 locale on MacOS X.
17460         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17461         ja_JP.eucJP locale on MacOS X.
17462         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17463         zh_CN.GB18030 locale on MacOS X.
17464
17465 2009-01-25  Bruno Haible  <bruno@clisp.org>
17466
17467         Avoid link errors on MacOS X 10.3.
17468         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17469         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17470
17471 2009-01-25  Bruno Haible  <bruno@clisp.org>
17472
17473         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17474         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17475         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17476         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17477         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17478         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17479         posix_spawnattr_init, posix_spawnattr_setsigmask,
17480         posix_spawnattr_setflags, posix_spawnattr_destroy.
17481
17482         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17483         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17484         * modules/execute (Files): Remove m4/posix_spawn.m4.
17485         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17486         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17487         posix_spawnattr_init, posix_spawnattr_setsigmask,
17488         posix_spawnattr_setflags, posix_spawnattr_destroy.
17489
17490 2009-01-25  Bruno Haible  <bruno@clisp.org>
17491
17492         * lib/glthread/threadlib.c: Include <stdlib.h>.
17493
17494 2009-01-25  Bruno Haible  <bruno@clisp.org>
17495
17496         * lib/glthread/threadlib.c (dummy): New declaration.
17497
17498 2009-01-25  Bruno Haible  <bruno@clisp.org>
17499
17500         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17501         multibyte characters also for the GB18030 encoding. Don't crash when
17502         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17503
17504 2009-01-25  Bruno Haible  <bruno@clisp.org>
17505
17506         Avoid redefining 'struct random_data' on OSF/1 5.1.
17507         * lib/stdlib.in.h: Include <random.h> if it exists.
17508         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17509         HAVE_RANDOM_H. Include <random.h> when testing whether
17510         'struct random_data' exists.
17511         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17512
17513 2009-01-25  Bruno Haible  <bruno@clisp.org>
17514
17515         Don't install charset.alias on MacOS X >= 10.3.
17516         * lib/localcharset.c (DARWIN7): New macro.
17517         (get_charset_aliases): Hardcode the result for Darwin7.
17518         * modules/localcharset (install-exec-local): Don't install
17519         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17520
17521 2009-01-25  Bruno Haible  <bruno@clisp.org>
17522
17523         Don't install charset.alias on mingw and Cygwin.
17524         * modules/localcharset (install-exec-local): Don't install
17525         charset.alias on mingw and Cygwin, if the file does not yet exist.
17526         The result for these platforms is hardcoded in localcharset.c.
17527
17528 2009-01-25  Bruno Haible  <bruno@clisp.org>
17529
17530         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17531         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17532         before requiring AC_USE_SYSTEM_EXTENSIONS.
17533
17534 2009-01-25  Jim Meyering  <meyering@redhat.com>
17535
17536         c-strtod: avoid warnings
17537         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17538         "assignment discards qualifiers from pointer target type" warnings.
17539
17540 2009-01-24  Bruno Haible  <bruno@clisp.org>
17541
17542         Add support for non-UTF-8 locales on MacOS X.
17543         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17544         canonical encodings. For Darwin 7 and newer, don't map traditional
17545         encodings to UTF-8.
17546         Reported by Vincent Lefevre <vincent@vinc17.org>
17547         at <http://savannah.gnu.org/bugs/?25235>.
17548
17549 2009-01-24  Bruno Haible  <bruno@clisp.org>
17550
17551         * doc/gnulib.texi (Obsolete modules): New section.
17552         Reported by Mike Frysinger <vapier@gentoo.org>.
17553
17554 2009-01-24  Bruno Haible  <bruno@clisp.org>
17555
17556         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17557         (%.dvi): New rule.
17558
17559 2009-01-24  Bruno Haible  <bruno@clisp.org>
17560
17561         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17562         Reported by Eric Blake.
17563
17564 2009-01-24  Bruno Haible  <bruno@clisp.org>
17565
17566         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17567         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17568         Reported by Gary V. Vaughan <gary@gnu.org>.
17569
17570 2009-01-24  Bruno Haible  <bruno@clisp.org>
17571
17572         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17573
17574 2009-01-23  Bruno Haible  <bruno@clisp.org>
17575
17576         Make c-strtod, c-strtold usable in libraries.
17577         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17578         (C_STRTOD): Call strdup instead of xstrdup.
17579         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17580         * modules/c-strtold (Depends-on): Likewise.
17581         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17582         * NEWS: Mention the change.
17583         Reported by Michael Gold <mgold@ncf.ca>.
17584
17585 2009-01-23  Jim Meyering  <meyering@redhat.com>
17586
17587         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17588         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17589         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17590
17591 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17592
17593         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17594         GNU CoreUtils.
17595         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17596         * modules/version-etc (Description): Update.
17597
17598 2009-01-22  Bruno Haible  <bruno@clisp.org>
17599
17600         Cache the C locale object.
17601         * lib/c-strtod.c (c_locale_cache): New variable.
17602         (c_locale): New function.
17603         (C_STRTOD): Use it, and don't call freelocale.
17604         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17605         Suggested by Paolo Bonzini.
17606
17607 2009-01-21  Bruno Haible  <bruno@clisp.org>
17608
17609         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17610         conditions other than overflow.
17611
17612 2009-01-21  Bruno Haible  <bruno@clisp.org>
17613
17614         * lib/c-strtod.c: Include errno.h.
17615         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17616         value from STRTOD_L and STRTOD.
17617
17618 2009-01-21  Bruno Haible  <bruno@clisp.org>
17619         and Jim Meyering  <meyering@redhat.com>
17620
17621         nanosleep: skip configure test (fail it) for apple universal builds
17622         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17623         universal builds, assume that nanosleep does not work.
17624         * modules/nanosleep (Depends-on): Add multiarch.
17625
17626         mktime: skip configure test (fail it) for apple universal builds
17627         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17628         universal builds, assume that mktime does not work.
17629         * modules/mktime (Depends-on): Add multiarch.
17630
17631 2009-01-21  Eric Blake  <ebb9@byu.net>
17632
17633         multiarch: avoid expand-before-require warning
17634         * modules/multiarch (configure.ac): Require, rather than expand,
17635         gl_MULTIARCH.
17636         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17637         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17638         enforce that all clients require it.  Partial reversion of
17639         2008-12-29 patch.
17640
17641         error: avoid expand-before-require warning
17642         * modules/errno (configure.ac): Require, rather than expand,
17643         gl_HEADER_ERRNO_H.
17644         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
17645         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
17646         enforce that all clients require it.
17647
17648         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
17649         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
17650         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
17651         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
17652
17653 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
17654
17655         Revert:
17656         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17657
17658         regex: do not depend on obsolete modules.
17659         * modules/regex: Remove memcmp and memmove.
17660
17661 2009-01-20  Bruno Haible  <bruno@clisp.org>
17662
17663         Make the 'link' module link on Windows NT 4.
17664         * lib/link.c (_WIN32_WINNT): Don't define.
17665         (CreateHardLinkFuncType): New type.
17666         (CreateHardLinkFunc, initialized): New variables.
17667         (initialize): New function.
17668         (link): Invoke CreateHardLink indirectly through the function pointer.
17669
17670 2009-01-20  Bruno Haible  <bruno@clisp.org>
17671
17672         Fix compilation failure on mingw.
17673         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
17674
17675 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
17676
17677         * doc/c-strtod.texi: Mention a couple of restrictions.
17678
17679 2009-01-20  Jim Meyering  <meyering@redhat.com>
17680
17681         gettimeofday: move more declarations out of functions
17682         * lib/gettimeofday.c: Move extern declarations of tzset and
17683         gmtime out of containing functions.  Prompted by Bruno Haible.
17684
17685 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17686
17687         regex: do not depend on obsolete modules.
17688         * modules/regex: Remove memcmp and memmove.
17689
17690 2009-01-19  Bruno Haible  <bruno@clisp.org>
17691
17692         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17693         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
17694         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17695         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
17696         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
17697
17698 2009-01-19  Bruno Haible  <bruno@clisp.org>
17699
17700         * tests/test-link.c: Include <errno.h>.
17701         (main): Exit with code 77 when a hard link cannot be created due to
17702         the file system.
17703         * tests/test-link.sh: Skip test when a hard link cannot be created due
17704         to the file system.
17705         Suggested by Eric Blake.
17706
17707 2009-01-19  Martin Lambers  <marlam@marlam.de>
17708
17709         * modules/link-tests: New file.
17710         * tests/test-link.sh: New file.
17711         * tests/test-link.c: New file.
17712
17713 2009-01-19  Eric Blake  <ebb9@byu.net>
17714
17715         doc: mention another function added in cygwin 1.7.0
17716         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
17717         Another new function in cygwin 1.7.
17718
17719 2009-01-19  Bruno Haible  <bruno@clisp.org>
17720
17721         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17722         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
17723         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
17724         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17725         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17726         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
17727         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17728         * m4/md4.m4 (gl_MD4): Likewise.
17729         * m4/md5.m4 (gl_MD5): Likewise.
17730         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
17731         * m4/sha1.m4 (gl_SHA1): Likewise.
17732         * m4/sha256.m4 (gl_SHA256): Likewise.
17733         * m4/sha512.m4 (gl_SHA512): Likewise.
17734
17735 2009-01-19  Bruno Haible  <bruno@clisp.org>
17736
17737         * modules/uniname/uniname-tests (Depends-on): Add progname.
17738         * tests/uniname/test-uninames.c: Include progname.h.
17739         (main): Call set_program_name.
17740
17741         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
17742         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
17743         (main): Call set_program_name.
17744
17745         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
17746         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
17747         (main): Call set_program_name.
17748
17749         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
17750         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
17751         (main): Call set_program_name.
17752
17753         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
17754         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
17755         (main): Call set_program_name.
17756
17757         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
17758         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
17759         (main): Call set_program_name.
17760
17761         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
17762         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
17763         (main): Call set_program_name.
17764
17765         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
17766         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
17767         (main): Call set_program_name.
17768
17769         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
17770         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
17771         (main): Call set_program_name.
17772
17773 2009-01-19  Eric Blake  <ebb9@byu.net>
17774
17775         test-unistd: test previous patch
17776         * tests/test-unistd.c: Test *_FILENO macros.
17777
17778         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
17779         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17780         Guarantee a definition.
17781         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
17782         * modules/unistd-safer (Depends-on): Add dependency on unistd.
17783         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
17784         * lib/dup-safer.c (STDERR_FILENO): Likewise.
17785         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17786         Likewise.
17787         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
17788         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
17789         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17790         Likewise.
17791         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
17792         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
17793         (STDERR_FILENO): Likewise.
17794         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
17795         (STDERR_FILENO): Likewise.
17796         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
17797         (STDERR_FILENO): Likewise.
17798         Reported by Elbert Pol.
17799
17800 2009-01-19  Eric Blake  <ebb9@byu.net>
17801
17802         doc: mention more functions added in cygwin 1.7.0
17803         * doc/posix-functions/abort.texi (abort): Update wording related
17804         to cygwin.
17805         * doc/posix-functions/daylight.texi (daylight): Likewise.
17806         * doc/posix-functions/optarg.texi (optarg): Likewise.
17807         * doc/posix-functions/optarg.texi (opterr): Likewise.
17808         * doc/posix-functions/optarg.texi (optind): Likewise.
17809         * doc/posix-functions/optarg.texi (optopt): Likewise.
17810         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
17811         worked in 1.5.x, and was withdrawn in 1.7.
17812         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17813         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
17814         cygwin versions.
17815         * doc/posix-functions/perror.texi (perror): Likewise.
17816         * doc/posix-functions/printf.texi (printf): Likewise.
17817         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17818         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17819         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17820         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17821         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17822         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17823         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
17824         Likewise.
17825         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
17826         Likewise.
17827         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
17828         this function.
17829         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
17830         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
17831         Likewise.
17832         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
17833         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
17834         * doc/posix-functions/confstr.texi (confstr): Likewise.
17835         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17836         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
17837         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
17838         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
17839         * doc/posix-functions/fputws.texi (fputws): Likewise.
17840         * doc/posix-functions/fwide.texi (fwide): Likewise.
17841         * doc/posix-functions/getwc.texi (getwc): Likewise.
17842         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
17843         * doc/posix-functions/putwc.texi (putwc): Likewise.
17844         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17845         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
17846         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
17847         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17848         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
17849         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
17850         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
17851         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
17852         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
17853         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
17854         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
17855
17856 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17857
17858         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
17859         * lib/ioctl.c: Include <sys/ioctl.h>.
17860
17861 2009-01-19  Simon Josefsson  <simon@josefsson.org>
17862
17863         * modules/getdate-tests (Depends-on): Add progname.
17864         * tests/test-getdate.c: Use progname module, to avoid link errors
17865         on non-glibc systems.
17866
17867 2009-01-18  Simon Josefsson  <simon@josefsson.org>
17868
17869         * modules/filenamecat-tests (Depends-on): Add progname.
17870         * modules/fstrcmp-tests (Depends-on): Likewise.
17871
17872         * tests/test-filenamecat.c: Use progname module, to avoid link
17873         errors on non-glibc systems.
17874         * tests/test-fstrcmp.c: Likewise.
17875
17876 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17877
17878         gettimeofday: avoid warning: nested extern declaration of 'localtime'
17879         * lib/gettimeofday.c: Move extern declaration out of function.
17880
17881 2009-01-18  Bruno Haible  <bruno@clisp.org>
17882
17883         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
17884         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
17885         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
17886
17887 2009-01-18  Bruno Haible  <bruno@clisp.org>
17888
17889         * lib/strftime.c (MEMPCPY): Remove unused macro.
17890         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
17891
17892 2009-01-18  Martin Lambers  <marlam@marlam.de>
17893
17894         New module 'link'.
17895         * lib/unistd.in.h (link): New declaration.
17896         * lib/link.c: New file.
17897         * m4/link.m4: New file.
17898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
17899         HAVE_LINK.
17900         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
17901         * modules/link: New file.
17902         * doc/posix-functions/link.texi: Mention the new module.
17903
17904 2009-01-18  Bruno Haible  <bruno@clisp.org>
17905
17906         * tests/test-avltree_list.c (main): Call set_program_name.
17907         * tests/test-avltree_oset.c (main): Likewise.
17908         * tests/test-obstack-printf.c: Include progname.h.
17909         (main): Call set_program_name.
17910         * tests/test-quotearg.c: Include progname.h.
17911         (main): Call set_program_name.
17912         * tests/test-xmemdup0.c: Include progname.h.
17913         (main): Call set_program_name.
17914
17915 2009-01-18  Bruno Haible  <bruno@clisp.org>
17916
17917         New module 'alphasort'.
17918         * lib/dirent.in.h (alphasort): New declaration.
17919         * lib/alphasort.c: New file, from glibc with modifications.
17920         * m4/alphasort.m4: New file.
17921         * modules/alphasort: New file.
17922         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
17923         HAVE_ALPHASORT.
17924         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
17925         HAVE_ALPHASORT.
17926         * doc/posix-functions/alphasort.texi: Mention the new module and the
17927         portability problems.
17928
17929 2009-01-18  Bruno Haible  <bruno@clisp.org>
17930
17931         New module 'scandir'.
17932         * lib/dirent.in.h (scandir): New declaration.
17933         * lib/scandir.c: New file, from glibc with modifications.
17934         * m4/scandir.m4: New file.
17935         * modules/scandir: New file.
17936         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
17937         HAVE_SCANDIR.
17938         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
17939         HAVE_SCANDIR.
17940         * doc/posix-functions/scandir.texi: Mention the new module and the
17941         portability problems.
17942
17943 2009-01-17  Bruno Haible  <bruno@clisp.org>
17944
17945         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
17946         Update documentation.
17947         (func_remove_suffix): Escape all dots in the suffix. Update
17948         documentation.
17949         (func_filter_filelist): Update documentation.
17950         Reported by Ralf Wildenhues.
17951
17952 2009-01-17  Bruno Haible  <bruno@clisp.org>
17953
17954         * modules/dprintf-posix-tests: New file.
17955         * tests/test-dprintf-posix.sh: New file.
17956         * tests/test-dprintf-posix.c: New file.
17957
17958         New modules 'dprintf', 'dprintf-posix'.
17959         * lib/stdio.in.h (dprintf): New declaration.
17960         * lib/dprintf.c: New file.
17961         * m4/dprintf.m4: New file.
17962         * m4/dprintf-posix.m4: New file.
17963         * modules/dprintf: New file.
17964         * modules/dprintf-posix: New file.
17965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
17966         HAVE_DPRINTF, REPLACE_DPRINTF.
17967         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
17968         HAVE_DPRINTF, REPLACE_DPRINTF.
17969         * doc/posix-functions/dprintf.texi: Mention the new modules.
17970
17971 2009-01-17  Bruno Haible  <bruno@clisp.org>
17972
17973         * modules/vdprintf-posix-tests: New file.
17974         * tests/test-vdprintf-posix.sh: New file.
17975         * tests/test-vdprintf-posix.c: New file.
17976
17977         New modules 'vdprintf', 'vdprintf-posix'.
17978         * lib/stdio.in.h (vdprintf): New declaration.
17979         * lib/vdprintf.c: New file.
17980         * m4/vdprintf.m4: New file.
17981         * m4/vdprintf-posix.m4: New file.
17982         * modules/vdprintf: New file.
17983         * modules/vdprintf-posix: New file.
17984         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
17985         HAVE_VDPRINTF, REPLACE_VDPRINTF.
17986         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
17987         HAVE_VDPRINTF, REPLACE_VDPRINTF.
17988         * doc/posix-functions/vdprintf.texi: Mention the new modules.
17989
17990 2009-01-17  Bruno Haible  <bruno@clisp.org>
17991
17992         Fix replacement of fopen on mingw.
17993         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
17994         mingw.
17995
17996 2009-01-17  Bruno Haible  <bruno@clisp.org>
17997
17998         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
17999         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18000
18001 2009-01-17  Bruno Haible  <bruno@clisp.org>
18002
18003         Avoid test-fflush2.sh failure on mingw.
18004         * tests/test-fflush2.c: Include binary-io.h.
18005         (main): Put standard input into binary mode.
18006         * modules/fflush-tests (Depends-on): Add binary-io.
18007
18008 2009-01-17  Bruno Haible  <bruno@clisp.org>
18009
18010         * lib/wchar.in.h: In another particular situation, include only the
18011         system's <wchar.h> file.
18012         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18013         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18014         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18015
18016 2009-01-17  Bruno Haible  <bruno@clisp.org>
18017
18018         Support for stripping executables in --enable-relocatable.
18019         * build-aux/install-reloc: Expect one more argument, or an environment
18020         variable RELOC_STRIP_PROG. If set, strip the destination program and
18021         its wrapper.
18022         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18023         RELOC_STRIP_PROG.
18024         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18025         to set RELOCATABLE_STRIP.
18026         * NEWS: Mention the new Makefile requirement.
18027
18028 2009-01-17  Bruno Haible  <bruno@clisp.org>
18029
18030         * build-aux/install-reloc: Remove debugging information left over by
18031         C compiler on MacOS X.
18032
18033 2009-01-17  Bruno Haible  <bruno@clisp.org>
18034
18035         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18036         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18037         _NSGetExecutablePath.
18038
18039 2009-01-16  Jim Meyering  <meyering@redhat.com>
18040
18041         strerror: avoid warnings about discarding "const"
18042         * lib/strerror.c (rpl_strerror): Instead of returning a const
18043         string from each and every "case", use a variable, and add a single
18044         cast after the switch.
18045
18046 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18047
18048         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18049
18050 2009-01-16  Bruno Haible  <bruno@clisp.org>
18051
18052         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18053         array initializer syntax that also works in C++ mode.
18054         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18055
18056 2009-01-16  Jim Meyering  <meyering@redhat.com>
18057
18058         poll: suppress a warning
18059         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18060         to ignore "...unsigned expression < 0 is always false" warnings.
18061
18062 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18063
18064         poll: remove declarations of unused variables
18065         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18066         sockbuf and optlen.
18067
18068 2009-01-15  Bruno Haible  <bruno@clisp.org>
18069
18070         Make fflush-after-ungetc POSIX compliant on BSD systems.
18071         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18072         (clear_ungetc_buffer): Implement also for other systems.
18073         (rpl_fflush): On glibc systems, invoke
18074         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18075         clear_ungetc_buffer after fetching the stream's position, not before.
18076
18077 2009-01-15  Bruno Haible  <bruno@clisp.org>
18078
18079         Make fflush-after-ungetc POSIX compliant on glibc systems.
18080         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18081         after ungetc.
18082         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18083         (rpl_fflush): On glibc systems, simply call the system's fflush
18084         function after clearing the ungetc buffer.
18085         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18086         Instead, lseek only to the end of file, then use the system's fseeko
18087         for the rest. On glibc systems, reset the EOF indicator bit.
18088
18089 2009-01-15  Jim Meyering  <meyering@redhat.com>
18090
18091         openmp.m4: revert quote-adding change, for portability to older autoconf
18092         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18093         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18094         Simon Josefsson noticed the problem when using autoconf-2.61.
18095
18096 2009-01-15  Bruno Haible  <bruno@clisp.org>
18097
18098         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18099         * tests/test-fflush2.c (ASSERT): Always fail.
18100         (main): Add two tests for fflush() after ungetc(), taking into account
18101         the Austin Group's clarification.
18102         Suggested by Eric Blake.
18103
18104 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18105
18106         mktime.m4: remove K&R-style function prototypes
18107         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18108         for the Sun C++ compiler.
18109
18110 2009-01-14  Bruno Haible  <bruno@clisp.org>
18111
18112         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18113         while including <wchar.h>.
18114         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18115         the system's <wchar.h> file.
18116         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18117
18118 2009-01-14  Bruno Haible  <bruno@clisp.org>
18119
18120         * m4/csharp.m4: Don't mention gettext on the serial number line.
18121         * m4/csharpexec.m4: Likewise.
18122         * m4/eaccess.m4: Likewise.
18123         * m4/javaexec.m4: Likewise.
18124         * m4/sig_atomic_t.m4: Likewise.
18125         * m4/tmpdir.m4: Likewise.
18126         * m4/intldir.m4: Bump gettext version.
18127         * m4/lib-ld.m4: Likewise.
18128
18129 2009-01-14  Bruno Haible  <bruno@clisp.org>
18130
18131         * lib/progname.c (set_program_name): Add more comments.
18132         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18133
18134 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18135
18136         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18137         were sys/stat.h does not define it.
18138
18139 2009-01-14  Jim Meyering  <meyering@redhat.com>
18140
18141         many *.m4 files: improve m4 quoting
18142         99% of this change was performed by running the following commands:
18143         git ls-files | grep '\.m4$' | xargs perl -pi \
18144           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18145           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18146           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18147           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18148         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18149         The remainder were to add Copyright dates, increment serial numbers,
18150         undo some changes in comments, exclude m4/intl.m4, and add quotes
18151         around the "1" in ",1" where the unusual spacing prohibited the
18152         above regexps from doing the job.  For more details, see
18153         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18154         * m4/acl.m4: Modified.
18155         * m4/afs.m4: Likewise.
18156         * m4/alloca.m4: Likewise.
18157         * m4/argp.m4: Likewise.
18158         * m4/argz.m4: Likewise.
18159         * m4/atexit.m4: Likewise.
18160         * m4/bison-i18n.m4: Likewise.
18161         * m4/bison.m4: Likewise.
18162         * m4/byteswap.m4: Likewise.
18163         * m4/c-stack.m4: Likewise.
18164         * m4/c-strtod.m4: Likewise.
18165         * m4/calloc.m4: Likewise.
18166         * m4/canonicalize-lgpl.m4: Likewise.
18167         * m4/chown.m4: Likewise.
18168         * m4/clock_time.m4: Likewise.
18169         * m4/codeset.m4: Likewise.
18170         * m4/copy-file.m4: Likewise.
18171         * m4/csharp.m4: Likewise.
18172         * m4/csharpcomp.m4: Likewise.
18173         * m4/csharpexec.m4: Likewise.
18174         * m4/d-ino.m4: Likewise.
18175         * m4/d-type.m4: Likewise.
18176         * m4/dirfd.m4: Likewise.
18177         * m4/double-slash-root.m4: Likewise.
18178         * m4/eaccess.m4: Likewise.
18179         * m4/eealloc.m4: Likewise.
18180         * m4/environ.m4: Likewise.
18181         * m4/errno_h.m4: Likewise.
18182         * m4/euidaccess.m4: Likewise.
18183         * m4/execute.m4: Likewise.
18184         * m4/fatal-signal.m4: Likewise.
18185         * m4/fchdir.m4: Likewise.
18186         * m4/fcntl_h.m4: Likewise.
18187         * m4/fileblocks.m4: Likewise.
18188         * m4/filenamecat.m4: Likewise.
18189         * m4/findprog.m4: Likewise.
18190         * m4/flexmember.m4: Likewise.
18191         * m4/fnmatch.m4: Likewise.
18192         * m4/fopen.m4: Likewise.
18193         * m4/fpending.m4: Likewise.
18194         * m4/fprintf-posix.m4: Likewise.
18195         * m4/free.m4: Likewise.
18196         * m4/frexp.m4: Likewise.
18197         * m4/frexpl.m4: Likewise.
18198         * m4/fsusage.m4: Likewise.
18199         * m4/ftruncate.m4: Likewise.
18200         * m4/gc-camellia.m4: Likewise.
18201         * m4/gc-random.m4: Likewise.
18202         * m4/gc.m4: Likewise.
18203         * m4/getaddrinfo.m4: Likewise.
18204         * m4/getcwd-abort-bug.m4: Likewise.
18205         * m4/getcwd-path-max.m4: Likewise.
18206         * m4/getdate.m4: Likewise.
18207         * m4/getdomainname.m4: Likewise.
18208         * m4/getgroups.m4: Likewise.
18209         * m4/gethostname.m4: Likewise.
18210         * m4/gethrxtime.m4: Likewise.
18211         * m4/getline.m4: Likewise.
18212         * m4/getloadavg.m4: Likewise.
18213         * m4/getndelim2.m4: Likewise.
18214         * m4/getpass.m4: Likewise.
18215         * m4/gettext.m4: Likewise.
18216         * m4/gettime.m4: Likewise.
18217         * m4/gettimeofday.m4: Likewise.
18218         * m4/gnulib-common.m4: Likewise.
18219         * m4/group-member.m4: Likewise.
18220         * m4/host-os.m4: Likewise.
18221         * m4/iconv.m4: Likewise.
18222         * m4/iconv_open.m4: Likewise.
18223         * m4/inet_ntop.m4: Likewise.
18224         * m4/inet_pton.m4: Likewise.
18225         * m4/inline.m4: Likewise.
18226         * m4/intldir.m4: Likewise.
18227         * m4/intlmacosx.m4: Likewise.
18228         * m4/intmax.m4: Likewise.
18229         * m4/intmax_t.m4: Likewise.
18230         * m4/inttypes.m4: Likewise.
18231         * m4/inttypes_h.m4: Likewise.
18232         * m4/inttypes-pri.m4: Likewise.
18233         * m4/isapipe.m4: Likewise.
18234         * m4/isnand.m4: Likewise.
18235         * m4/isnanf.m4: Likewise.
18236         * m4/isnanl.m4: Likewise.
18237         * m4/javacomp.m4: Likewise.
18238         * m4/javaexec.m4: Likewise.
18239         * m4/jm-winsz1.m4: Likewise.
18240         * m4/jm-winsz2.m4: Likewise.
18241         * m4/lchown.m4: Likewise.
18242         * m4/lcmessage.m4: Likewise.
18243         * m4/ldexpl.m4: Likewise.
18244         * m4/lib-ld.m4: Likewise.
18245         * m4/lib-link.m4: Likewise.
18246         * m4/libsigsegv.m4: Likewise.
18247         * m4/link-follow.m4: Likewise.
18248         * m4/localcharset.m4: Likewise.
18249         * m4/locale-fr.m4: Likewise.
18250         * m4/locale-ja.m4: Likewise.
18251         * m4/locale-tr.m4: Likewise.
18252         * m4/locale-zh.m4: Likewise.
18253         * m4/lock.m4: Likewise.
18254         * m4/longlong.m4: Likewise.
18255         * m4/ls-mntd-fs.m4: Likewise.
18256         * m4/lstat.m4: Likewise.
18257         * m4/malloc.m4: Likewise.
18258         * m4/mathl.m4: Likewise.
18259         * m4/mbrtowc.m4: Likewise.
18260         * m4/mbstate_t.m4: Likewise.
18261         * m4/mbswidth.m4: Likewise.
18262         * m4/memchr.m4: Likewise.
18263         * m4/memcmp.m4: Likewise.
18264         * m4/memcpy.m4: Likewise.
18265         * m4/memmem.m4: Likewise.
18266         * m4/memmove.m4: Likewise.
18267         * m4/mempcpy.m4: Likewise.
18268         * m4/memrchr.m4: Likewise.
18269         * m4/memset.m4: Likewise.
18270         * m4/minmax.m4: Likewise.
18271         * m4/mkdir-slash.m4: Likewise.
18272         * m4/mkdtemp.m4: Likewise.
18273         * m4/mktime.m4: Likewise.
18274         * m4/mmap-anon.m4: Likewise.
18275         * m4/mountlist.m4: Likewise.
18276         * m4/nanosleep.m4: Likewise.
18277         * m4/nls.m4: Likewise.
18278         * m4/nocrash.m4: Likewise.
18279         * m4/open.m4: Likewise.
18280         * m4/openat.m4: Likewise.
18281         * m4/openmp.m4: Likewise.
18282         * m4/pathmax.m4: Likewise.
18283         * m4/perl.m4: Likewise.
18284         * m4/physmem.m4: Likewise.
18285         * m4/pipe.m4: Likewise.
18286         * m4/po.m4: Likewise.
18287         * m4/poll.m4: Likewise.
18288         * m4/posixtm.m4: Likewise.
18289         * m4/posixver.m4: Likewise.
18290         * m4/printf-frexp.m4: Likewise.
18291         * m4/printf-frexpl.m4: Likewise.
18292         * m4/printf-posix.m4: Likewise.
18293         * m4/printf-posix-rpl.m4: Likewise.
18294         * m4/printf.m4: Likewise.
18295         * m4/progtest.m4: Likewise.
18296         * m4/putenv.m4: Likewise.
18297         * m4/readline.m4: Likewise.
18298         * m4/readlink.m4: Likewise.
18299         * m4/readutmp.m4: Likewise.
18300         * m4/realloc.m4: Likewise.
18301         * m4/regex.m4: Likewise.
18302         * m4/relocatable.m4: Likewise.
18303         * m4/relocatable-lib.m4: Likewise.
18304         * m4/rename-dest-slash.m4: Likewise.
18305         * m4/rename.m4: Likewise.
18306         * m4/rmdir-errno.m4: Likewise.
18307         * m4/rmdir.m4: Likewise.
18308         * m4/roundf.m4: Likewise.
18309         * m4/roundl.m4: Likewise.
18310         * m4/rpmatch.m4: Likewise.
18311         * m4/save-cwd.m4: Likewise.
18312         * m4/selinux-selinux-h.m4: Likewise.
18313         * m4/setenv.m4: Likewise.
18314         * m4/settime.m4: Likewise.
18315         * m4/sig2str.m4: Likewise.
18316         * m4/sig_atomic_t.m4: Likewise.
18317         * m4/signalblocking.m4: Likewise.
18318         * m4/signbit.m4: Likewise.
18319         * m4/sigpipe.m4: Likewise.
18320         * m4/sockets.m4: Likewise.
18321         * m4/sockpfaf.m4: Likewise.
18322         * m4/st_dm_mode.m4: Likewise.
18323         * m4/stat-time.m4: Likewise.
18324         * m4/stdbool.m4: Likewise.
18325         * m4/stdint.m4: Likewise.
18326         * m4/stdint_h.m4: Likewise.
18327         * m4/stpcpy.m4: Likewise.
18328         * m4/stpncpy.m4: Likewise.
18329         * m4/strcase.m4: Likewise.
18330         * m4/strchrnul.m4: Likewise.
18331         * m4/strcspn.m4: Likewise.
18332         * m4/strdup.m4: Likewise.
18333         * m4/strftime.m4: Likewise.
18334         * m4/strndup.m4: Likewise.
18335         * m4/strnlen.m4: Likewise.
18336         * m4/strpbrk.m4: Likewise.
18337         * m4/strptime.m4: Likewise.
18338         * m4/strsep.m4: Likewise.
18339         * m4/strtod.m4: Likewise.
18340         * m4/strtoimax.m4: Likewise.
18341         * m4/strtok_r.m4: Likewise.
18342         * m4/strtol.m4: Likewise.
18343         * m4/strtoll.m4: Likewise.
18344         * m4/strtoul.m4: Likewise.
18345         * m4/strtoull.m4: Likewise.
18346         * m4/strtoumax.m4: Likewise.
18347         * m4/strverscmp.m4: Likewise.
18348         * m4/threadlib.m4: Likewise.
18349         * m4/timegm.m4: Likewise.
18350         * m4/tm_gmtoff.m4: Likewise.
18351         * m4/tmpdir.m4: Likewise.
18352         * m4/tmpfile.m4: Likewise.
18353         * m4/tzset.m4: Likewise.
18354         * m4/uintmax_t.m4: Likewise.
18355         * m4/unlinkdir.m4: Likewise.
18356         * m4/unlocked-io.m4: Likewise.
18357         * m4/uptime.m4: Likewise.
18358         * m4/userspec.m4: Likewise.
18359         * m4/utimbuf.m4: Likewise.
18360         * m4/utime.m4: Likewise.
18361         * m4/utimes-null.m4: Likewise.
18362         * m4/utimes.m4: Likewise.
18363         * m4/vararrays.m4: Likewise.
18364         * m4/vasnprintf.m4: Likewise.
18365         * m4/vfprintf-posix.m4: Likewise.
18366         * m4/vprintf-posix.m4: Likewise.
18367         * m4/wait-process.m4: Likewise.
18368         * m4/wchar_t.m4: Likewise.
18369         * m4/wint_t.m4: Likewise.
18370         * m4/write-any-file.m4: Likewise.
18371         * m4/yield.m4: Likewise.
18372
18373 2009-01-13  Bruno Haible  <bruno@clisp.org>
18374
18375         Avoid test-copy-file.sh failures when ACL support insufficient.
18376         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18377         TESTS_ENVIRONMENT.
18378         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18379         Reported by Jim Meyering.
18380
18381 2009-01-13  Bruno Haible  <bruno@clisp.org>
18382
18383         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18384         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18385         * modules/unistdio/u8-printf-parse (Files): Likewise.
18386         * modules/unistdio/u32-printf-parse (Files): Likewise.
18387         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18388
18389 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18390
18391         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18392         and m4/inttypes_h.m4 too.
18393
18394 2009-01-12  Eric Blake  <ebb9@byu.net>
18395
18396         tests: IRIX 6.2 cc can't compile -0.0 into .data
18397         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18398         rather than at compile-time.
18399         * tests/test-floorl.c (minus_zero): Likewise.
18400         * tests/test-frexpl.c (minus_zero): Likewise.
18401         * tests/test-isnan.c (minus_zerol): Likewise.
18402         * tests/test-isnanl.h (minus_zero): Likewise.
18403         * tests/test-ldexpl.c (minus_zero): Likewise.
18404         * tests/test-roundl.c (minus_zero): Likewise.
18405         * tests/test-signbit.c (minus_zerol): Likewise.
18406         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18407         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18408         * tests/test-truncl.c (minus_zero): Likewise.
18409         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18410         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18411         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18412
18413 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18414
18415         regex: fix glibc bug 9697
18416         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18417         handling.
18418
18419 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18420
18421         regex: fix glibc bug 697
18422         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18423         being NULL also if there are no backreferences.
18424
18425 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18426
18427         regex: merge glibc changes
18428         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18429         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18430         re_string_skip_chars, re_string_reconstruct): Likewise.
18431         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18432
18433 2009-01-07  Jim Meyering  <meyering@redhat.com>
18434
18435         poll: filter through cppi
18436         * lib/poll.c: Indent cpp directives to reflect nesting.
18437
18438 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18439
18440         poll: don't return uninitialized
18441         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18442
18443 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18444
18445         avoid compile failure on AIX 6.1
18446         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18447         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18448
18449 2009-01-04  Jim Meyering  <meyering@redhat.com>
18450
18451         remove duplicate inclusion of <stdio.h>
18452         * tests/test-fprintf-posix.c: Likewise.
18453         * tests/test-printf-posix.c: Likewise.
18454         * tests/test-snprintf-posix.c: Likewise.
18455         * tests/test-sprintf-posix.c: Likewise.
18456         * tests/test-vasprintf-posix.c: Likewise.
18457         * tests/test-vfprintf-posix.c: Likewise.
18458         * tests/test-vprintf-posix.c: Likewise.
18459         * tests/test-vsnprintf-posix.c: Likewise.
18460         * tests/test-vsprintf-posix.c: Likewise.
18461
18462 2009-01-03  Jim Meyering  <meyering@redhat.com>
18463
18464         gnulib-tool: fix sed-based filtering
18465         * gnulib-tool (func_filter_filelist): Remove extra backslash
18466         in sed_fff_filter definition.
18467
18468 2009-01-02  Jim Meyering  <meyering@redhat.com>
18469
18470         strftime: avoid compilation failure on Solaris 2.6
18471         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18472         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18473         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18474         be available.  Reported by Tom G. Christensen.  Details in
18475         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18476
18477 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18478             Bruno Haible  <bruno@clisp.org>
18479
18480         Speed up gnulib-tool by doing more string processing through shell
18481         built-ins.
18482         * gnulib-tool (fast_func_append): New variable.
18483         (func_remove_prefix, func_remove_suffix): New functions.
18484         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18485         (func_filter_filelist): New function.
18486         (func_get_dependencies): Use func_remove_suffix instead of sed.
18487         (func_get_automake_snippet): Use func_filter_filelist instead of a
18488         subshell and sed invocation.
18489
18490 2009-01-01  Bruno Haible  <bruno@clisp.org>
18491
18492         Fix a security bug.
18493         * gnulib-tool (func_import, import, update): Don't allow the characters
18494         '"', '$', '`', '\' in macro arguments that become part of commands that
18495         are evaluated.
18496
18497 2009-01-01  Bruno Haible  <bruno@clisp.org>
18498
18499         * gnulib-tool (func_reset_sigpipe): Add more comments.
18500
18501 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18502
18503         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18504         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18505         already know the answer.
18506
18507 2009-01-01  Jim Meyering  <meyering@redhat.com>
18508
18509         * lib/version-etc.c (version_etc_va): Update copyright year.
18510
18511 2008-12-30  Bruno Haible  <bruno@clisp.org>
18512
18513         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18514         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18515         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18516
18517 2008-12-29  Eric Blake  <ebb9@byu.net>
18518
18519         multiarch: avoid autoconf AC_REQUIRE bug
18520         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18521         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18522         2.63 and older.
18523         Reported by Bruno Haible, and analyzed in
18524         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18525
18526 2008-12-29  Bruno Haible  <bruno@clisp.org>
18527
18528         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18529         files in subdirectories correctly.
18530         Reported by Ralf Wildenhues.
18531
18532 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18533
18534         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18535         rather than 'join FILE -', for Solaris join.
18536
18537 2008-12-29  Bruno Haible  <bruno@clisp.org>
18538
18539         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18540         quoting.
18541         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18542         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18543         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18544         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18545         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18546         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18547         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18548         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18549         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18550         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18551         * m4/nls.m4 (AM_NLS): Likewise.
18552         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18553         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18554         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18555         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18556         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18557         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18558         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18559         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18560         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18561         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18562         * m4/xsize.m4 (gl_XSIZE): Likewise.
18563         Suggested by Jim Meyering.
18564
18565 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18566
18567         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18568         * lib/parse-duration.c: use a switch instead of cascading if's.
18569
18570 2008-12-29  Eric Blake  <ebb9@byu.net>
18571
18572         wchar.h: supply WEOF on Irix 5.3
18573         * lib/wchar.in.h (wint_t): Also supply WEOF.
18574         * lib/wctype.in.h (wint_t): Likewise.
18575         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18576         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18577         Reported by Tom G. Christensen.
18578
18579 2008-12-26  Bruno Haible  <bruno@clisp.org>
18580
18581         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18582         i486, i586, i686.
18583
18584 2008-12-26  Bruno Haible  <bruno@clisp.org>
18585
18586         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18587
18588 2008-12-26  Bruno Haible  <bruno@clisp.org>
18589
18590         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18591         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18592         not __STDC_CONSTANT_MACROS.
18593         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18594
18595 2008-12-25  Bruno Haible  <bruno@clisp.org>
18596
18597         Add support for universal builds to vasnprintf.
18598         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18599         universal builds, guess no.
18600         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18601         * modules/vasprintf-posix (Depends-on): Likewise.
18602         * modules/fprintf-posix (Depends-on): Likewise.
18603         * modules/vfprintf-posix (Depends-on): Likewise.
18604         * modules/snprintf-posix (Depends-on): Likewise.
18605         * modules/vsnprintf-posix (Depends-on): Likewise.
18606         * modules/sprintf-posix (Depends-on): Likewise.
18607         * modules/vsprintf-posix (Depends-on): Likewise.
18608         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18609         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18610         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18611         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18612         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18613         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18614         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18615
18616         Add support for universal builds to <inttypes.h>.
18617         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18618         _SCNu64_PREFIX): In Apple
18619         universal builds, define directly, using _LP64.
18620         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18621         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18622         * modules/inttypes (Depends-on): Add multiarch.
18623         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18624
18625         Add support for universal builds to <stdint.h>.
18626         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18627         universal builds, define directly, using _LP64.
18628         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18629         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18630         and size_t.
18631         * modules/stdint (Depends-on): Add multiarch.
18632         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18633
18634         New module 'multiarch'.
18635         * modules/multiarch: New file.
18636         * m4/multiarch.m4: New file.
18637
18638 2008-12-25  Bruno Haible  <bruno@clisp.org>
18639
18640         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
18641
18642 2008-12-25  Bruno Haible  <bruno@clisp.org>
18643
18644         * modules/btowc (License): Relicense under LGPLv2+.
18645         * modules/mbsinit (License): Likewise.
18646         * modules/mbrtowc (License): Likewise.
18647         * modules/wcrtomb (License): Likewise.
18648         * modules/streq (License): Likewise.
18649         Reported by David Lutterkort <lutter@redhat.com>.
18650
18651 2008-12-23  Bruno Haible  <bruno@clisp.org>
18652
18653         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
18654
18655 2008-12-23  Bruno Haible  <bruno@clisp.org>
18656
18657         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
18658         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
18659         GETADDRINFO_LIB, not in LIBS.
18660         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
18661         * modules/canon-host (Link): Likewise.
18662         * NEWS: Mention the change.
18663         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
18664         GETADDRINFO_LIB.
18665
18666 2008-12-22  Bruno Haible  <bruno@clisp.org>
18667
18668         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
18669         * doc/posix-functions/iswalpha_l.texi: Likewise.
18670         * doc/posix-functions/iswblank_l.texi: Likewise.
18671         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18672         * doc/posix-functions/iswctype_l.texi: Likewise.
18673         * doc/posix-functions/iswdigit_l.texi: Likewise.
18674         * doc/posix-functions/iswgraph_l.texi: Likewise.
18675         * doc/posix-functions/iswlower_l.texi: Likewise.
18676         * doc/posix-functions/iswprint_l.texi: Likewise.
18677         * doc/posix-functions/iswpunct_l.texi: Likewise.
18678         * doc/posix-functions/iswspace_l.texi: Likewise.
18679         * doc/posix-functions/iswupper_l.texi: Likewise.
18680         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18681         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
18682         * doc/posix-functions/open_wmemstream.texi: Likewise.
18683         * doc/posix-functions/swscanf.texi: Likewise.
18684         * doc/posix-functions/towctrans_l.texi: Likewise.
18685         * doc/posix-functions/towlower.texi: Likewise.
18686         * doc/posix-functions/towlower_l.texi: Likewise.
18687         * doc/posix-functions/towupper.texi: Likewise.
18688         * doc/posix-functions/towupper_l.texi: Likewise.
18689         * doc/posix-functions/vfwprintf.texi: Likewise.
18690         * doc/posix-functions/vfwscanf.texi: Likewise.
18691         * doc/posix-functions/vswscanf.texi: Likewise.
18692         * doc/posix-functions/vwprintf.texi: Likewise.
18693         * doc/posix-functions/vwscanf.texi: Likewise.
18694         * doc/posix-functions/wcpcpy.texi: Likewise.
18695         * doc/posix-functions/wcpncpy.texi: Likewise.
18696         * doc/posix-functions/wcscasecmp.texi: Likewise.
18697         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
18698         * doc/posix-functions/wcscoll_l.texi: Likewise.
18699         * doc/posix-functions/wcsdup.texi: Likewise.
18700         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18701         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
18702         * doc/posix-functions/wcsnlen.texi: Likewise.
18703         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18704         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18705         * doc/posix-functions/wctrans_l.texi: Likewise.
18706         * doc/posix-functions/wctype_l.texi: Likewise.
18707         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
18708         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
18709         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
18710         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
18711         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
18712         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
18713         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
18714         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
18715         * doc/glibc-functions/wcschrnul.texi: Likewise.
18716         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18717         * doc/glibc-functions/wcstod_l.texi: Likewise.
18718         * doc/glibc-functions/wcstof_l.texi: Likewise.
18719         * doc/glibc-functions/wcstol_l.texi: Likewise.
18720         * doc/glibc-functions/wcstold_l.texi: Likewise.
18721         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18722         * doc/glibc-functions/wcstoq.texi: Likewise.
18723         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18724         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18725         * doc/glibc-functions/wcstouq.texi: Likewise.
18726         * doc/glibc-functions/wmempcpy.texi: Likewise.
18727
18728 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
18729             Eric Blake  <ebb9@byu.net>
18730             Paolo Bonzini  <bonzini@gnu.org>
18731             Bruno Haible  <bruno@clisp.org>
18732
18733         Make c-stack work on Haiku.
18734         * lib/c-stack.c (SA_ONSTACK): Define fallback.
18735         (c_stack_action): Use SA_ONSTACK flag.
18736
18737 2008-12-22  Bruno Haible  <bruno@clisp.org>
18738
18739         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
18740
18741 2008-12-22  Bruno Haible  <bruno@clisp.org>
18742
18743         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
18744         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
18745         being overridden.
18746         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
18747         New macros.
18748         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
18749         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
18750         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
18751         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
18752
18753 2008-12-22  Bruno Haible  <bruno@clisp.org>
18754
18755         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
18756         from test code.
18757
18758 2008-12-22  Eric Blake  <ebb9@byu.net>
18759
18760         Avoid gcc warnings on cygwin.
18761         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
18762         Avoid unused variable.
18763         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
18764         Likewise.
18765
18766 2008-12-22  Bruno Haible  <bruno@clisp.org>
18767
18768         Remove HAVE_MBRTOWC conditionals.
18769         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
18770         (mbscasecmp): Assume mbrtowc function.
18771         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
18772         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
18773         * lib/mbschr.c: Include mbuiter.h unconditionally.
18774         (mbschr): Assume mbrtowc function.
18775         * lib/mbscspn.c: Include mbuiter.h unconditionally.
18776         (mbscspn): Assume mbrtowc function.
18777         * lib/mbslen.c: Include mbuiter.h unconditionally.
18778         (mbslen): Assume mbrtowc function.
18779         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
18780         (mbsncasecmp): Assume mbrtowc function.
18781         * lib/mbsnlen.c: Include mbiter.h unconditionally.
18782         (mbsnlen): Assume mbrtowc function.
18783         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
18784         (mbspbrk): Assume mbrtowc function.
18785         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
18786         (mbspcasecmp): Assume mbrtowc function.
18787         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
18788         (mbsrchr): Assume mbrtowc function.
18789         * lib/mbssep.c: Include mbuiter.h unconditionally.
18790         (mbssep): Assume mbrtowc function.
18791         * lib/mbsspn.c: Include mbuiter.h unconditionally.
18792         (mbsspn): Assume mbrtowc function.
18793         * lib/mbsstr.c: Include mbuiter.h unconditionally.
18794         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
18795         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
18796         (mbstok_r): Assume mbrtowc function.
18797         * lib/propername.c: Include mbuiter.h unconditionally.
18798         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
18799         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
18800         (trim2): Assume mbrtowc function.
18801         * lib/mbswidth.c (mbsinit): Remove fallback definition.
18802         (mbsnwidth): Assume mbrtowc function.
18803         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
18804         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
18805         fallback definitions.
18806         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
18807
18808 2008-12-22  Bruno Haible  <bruno@clisp.org>
18809
18810         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
18811
18812 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
18813
18814         * modules/regex: Request emulations for the mb*/wc* functions we need.
18815         * m4/regex.m4: Don't look for those functions here.
18816         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
18817
18818 2008-12-22  Bruno Haible  <bruno@clisp.org>
18819
18820         * modules/fnmatch (Depends-on): Remove duplicated dependency.
18821
18822 2008-12-21  Bruno Haible  <bruno@clisp.org>
18823
18824         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
18825         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
18826         (Include): Remove conditionalization.
18827         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
18828         (Include): Remove conditionalization.
18829         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
18830         (Include): Remove conditionalization.
18831         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
18832         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18833         * NEWS: Mention the change.
18834         Reported by Alan Hourihane <alanh@fairlite.co.uk>
18835         via Sergey Poznyakoff <gray@gnu.org.ua>.
18836
18837 2008-12-21  Bruno Haible  <bruno@clisp.org>
18838
18839         * MODULES.html.sh (Extended multibyte and wide character utilities
18840         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
18841         wcrtomb, wcsrtombs.
18842         (Support for systems lacking POSIX:2008): Add accept, bind, close,
18843         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
18844         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
18845         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
18846
18847 2008-12-21  Bruno Haible  <bruno@clisp.org>
18848
18849         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
18850
18851 2008-12-21  Bruno Haible  <bruno@clisp.org>
18852
18853         * modules/wcsnrtombs-tests: New file.
18854         * tests/test-wcsnrtombs1.sh: New file.
18855         * tests/test-wcsnrtombs2.sh: New file.
18856         * tests/test-wcsnrtombs3.sh: New file.
18857         * tests/test-wcsnrtombs4.sh: New file.
18858         * tests/test-wcsnrtombs.c: New file.
18859
18860         New module 'wcsnrtombs'.
18861         * lib/wchar.in.h (wcsnrtombs): New declaration.
18862         * lib/wcsnrtombs.c: New file.
18863         * lib/wcsrtombs-state.c: New file.
18864         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
18865         (internal_state): Remove variable.
18866         * m4/wcsnrtombs.m4: New file.
18867         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
18868         compilation units.
18869         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
18870         HAVE_WCSNRTOMBS.
18871         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
18872         HAVE_WCSNRTOMBS.
18873         * modules/wcsnrtombs: New file.
18874         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
18875         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
18876
18877 2008-12-21  Bruno Haible  <bruno@clisp.org>
18878
18879         * modules/wcsrtombs-tests: New file.
18880         * tests/test-wcsrtombs1.sh: New file.
18881         * tests/test-wcsrtombs2.sh: New file.
18882         * tests/test-wcsrtombs3.sh: New file.
18883         * tests/test-wcsrtombs4.sh: New file.
18884         * tests/test-wcsrtombs.c: New file.
18885
18886         New module 'wcsrtombs'.
18887         * lib/wchar.in.h (wcsrtombs): New declaration.
18888         * lib/wcsrtombs.c: New file.
18889         * m4/wcsrtombs.m4: New file.
18890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
18891         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18892         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
18893         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18894         * modules/wcsrtombs: New file.
18895         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
18896         bugs.
18897
18898 2008-12-21  Bruno Haible  <bruno@clisp.org>
18899
18900         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
18901         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
18902         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
18903         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
18904         if not correct.
18905         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
18906         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
18907         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18908         m4/locale-zh.m4, m4/codeset.m4.
18909         * doc/posix-functions/wcrtomb.texi: Document the bug.
18910
18911 2008-12-21  Bruno Haible  <bruno@clisp.org>
18912
18913         Work around a btowc() bug on IRIX 6.5.
18914         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
18915         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
18916         REPLACE_WTOBC if not.
18917         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
18918         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
18919         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
18920
18921 2008-12-21  Bruno Haible  <bruno@clisp.org>
18922
18923         * modules/wcrtomb-tests: New file.
18924         * tests/test-wcrtomb.sh: New file.
18925         * tests/test-wcrtomb.c: New file.
18926
18927         New module 'wcrtomb'.
18928         * lib/wchar.in.h (wcrtomb): New declaration.
18929         * lib/wcrtomb.c: New file.
18930         * m4/wcrtomb.m4: New file.
18931         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
18932         HAVE_WCRTOMB.
18933         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
18934         HAVE_WCRTOMB.
18935         * modules/wcrtomb: New file.
18936         * doc/posix-functions/wcrtomb.texi: Mention the new module.
18937
18938 2008-12-21  Bruno Haible  <bruno@clisp.org>
18939
18940         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
18941         * modules/mbsrtowcs (Files): Likewise.
18942         * modules/wctob (Files): Likewise.
18943         * modules/c-strcase-tests (Files): Likewise.
18944         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18945         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18946         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18947         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18948         * modules/vasnprintf-posix-tests (Files): Likewise.
18949
18950 2008-12-21  William Pursell  <bill.pursell@gmail.com>
18951
18952         gitlog-to-changelog: pass all command-line arguments to git-log
18953         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
18954         it is sometimes convenient to filter the commits in various ways.
18955         gitlog-to-changelog only allows --since to specify a start date,
18956         but git-log itself supports many other filtering mechanisms.
18957         At the moment, I want to filter by branch name.  Rather than
18958         adding a --branch option to gitlog-to-changelog, it seems more
18959         flexible to simply pass all options directly to git-log and let
18960         git do the work.  Notice that this effectively makes --since a
18961         redundant option for gitlog-to-changelog, but removing it would
18962         require current usage to change since calls would then require
18963         an additional '--'.
18964
18965 2008-12-21  Bruno Haible  <bruno@clisp.org>
18966
18967         * modules/mbsnrtowcs-tests: New file.
18968         * tests/test-mbsnrtowcs1.sh: New file.
18969         * tests/test-mbsnrtowcs2.sh: New file.
18970         * tests/test-mbsnrtowcs3.sh: New file.
18971         * tests/test-mbsnrtowcs4.sh: New file.
18972         * tests/test-mbsnrtowcs.c: New file.
18973
18974         New module 'mbsnrtowcs'.
18975         * lib/wchar.in.h (mbsnrtowcs): New declaration.
18976         * lib/mbsnrtowcs.c: New file.
18977         * lib/mbsrtowcs-state.c: New file.
18978         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
18979         (internal_state): Remove variable.
18980         * m4/mbsnrtowcs.m4: New file.
18981         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
18982         compilation units.
18983         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
18984         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
18985         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
18986         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
18987         * modules/mbsnrtowcs: New file.
18988         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
18989         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
18990         portability problem.
18991
18992 2008-12-21  Bruno Haible  <bruno@clisp.org>
18993
18994         Work around mbsrtowcs bug.
18995         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
18996         (gl_FUNC_MBSRTOWCS): Invoke it.
18997         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18998         m4/locale-zh.m4.
18999         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19000
19001 2008-12-21  Bruno Haible  <bruno@clisp.org>
19002
19003         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19004
19005 2008-12-21  Bruno Haible  <bruno@clisp.org>
19006
19007         Update doc for AIX.
19008         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19009         16-bit wchar_t type.
19010         * doc/posix-functions/btowc.texi: Likewise.
19011         * doc/posix-functions/fgetwc.texi: Likewise.
19012         * doc/posix-functions/fgetws.texi: Likewise.
19013         * doc/posix-functions/fputwc.texi: Likewise.
19014         * doc/posix-functions/fputws.texi: Likewise.
19015         * doc/posix-functions/fwide.texi: Likewise.
19016         * doc/posix-functions/fwprintf.texi: Likewise.
19017         * doc/posix-functions/fwscanf.texi: Likewise.
19018         * doc/posix-functions/getwchar.texi: Likewise.
19019         * doc/posix-functions/getwc.texi: Likewise.
19020         * doc/posix-functions/iswalnum.texi: Likewise.
19021         * doc/posix-functions/iswalpha.texi: Likewise.
19022         * doc/posix-functions/iswblank.texi: Likewise.
19023         * doc/posix-functions/iswcntrl.texi: Likewise.
19024         * doc/posix-functions/iswctype.texi: Likewise.
19025         * doc/posix-functions/iswdigit.texi: Likewise.
19026         * doc/posix-functions/iswgraph.texi: Likewise.
19027         * doc/posix-functions/iswlower.texi: Likewise.
19028         * doc/posix-functions/iswprint.texi: Likewise.
19029         * doc/posix-functions/iswpunct.texi: Likewise.
19030         * doc/posix-functions/iswspace.texi: Likewise.
19031         * doc/posix-functions/iswupper.texi: Likewise.
19032         * doc/posix-functions/iswxdigit.texi: Likewise.
19033         * doc/posix-functions/mbrtowc.texi: Likewise.
19034         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19035         * doc/posix-functions/mbstowcs.texi: Likewise.
19036         * doc/posix-functions/mbtowc.texi: Likewise.
19037         * doc/posix-functions/putwchar.texi: Likewise.
19038         * doc/posix-functions/putwc.texi: Likewise.
19039         * doc/posix-functions/swprintf.texi: Likewise.
19040         * doc/posix-functions/tolower.texi: Likewise.
19041         * doc/posix-functions/toupper.texi: Likewise.
19042         * doc/posix-functions/towctrans.texi: Likewise.
19043         * doc/posix-functions/ungetwc.texi: Likewise.
19044         * doc/posix-functions/vswprintf.texi: Likewise.
19045         * doc/posix-functions/wcrtomb.texi: Likewise.
19046         * doc/posix-functions/wcscat.texi: Likewise.
19047         * doc/posix-functions/wcschr.texi: Likewise.
19048         * doc/posix-functions/wcscmp.texi: Likewise.
19049         * doc/posix-functions/wcscoll.texi: Likewise.
19050         * doc/posix-functions/wcscpy.texi: Likewise.
19051         * doc/posix-functions/wcscspn.texi: Likewise.
19052         * doc/posix-functions/wcsftime.texi: Likewise.
19053         * doc/posix-functions/wcslen.texi: Likewise.
19054         * doc/posix-functions/wcsncat.texi: Likewise.
19055         * doc/posix-functions/wcsncmp.texi: Likewise.
19056         * doc/posix-functions/wcsncpy.texi: Likewise.
19057         * doc/posix-functions/wcspbrk.texi: Likewise.
19058         * doc/posix-functions/wcsrchr.texi: Likewise.
19059         * doc/posix-functions/wcsrtombs.texi: Likewise.
19060         * doc/posix-functions/wcsspn.texi: Likewise.
19061         * doc/posix-functions/wcsstr.texi: Likewise.
19062         * doc/posix-functions/wcstod.texi: Likewise.
19063         * doc/posix-functions/wcstof.texi: Likewise.
19064         * doc/posix-functions/wcstoimax.texi: Likewise.
19065         * doc/posix-functions/wcstok.texi: Likewise.
19066         * doc/posix-functions/wcstold.texi: Likewise.
19067         * doc/posix-functions/wcstoll.texi: Likewise.
19068         * doc/posix-functions/wcstol.texi: Likewise.
19069         * doc/posix-functions/wcstombs.texi: Likewise.
19070         * doc/posix-functions/wcstoull.texi: Likewise.
19071         * doc/posix-functions/wcstoul.texi: Likewise.
19072         * doc/posix-functions/wcstoumax.texi: Likewise.
19073         * doc/posix-functions/wcswidth.texi: Likewise.
19074         * doc/posix-functions/wcsxfrm.texi: Likewise.
19075         * doc/posix-functions/wctob.texi: Likewise.
19076         * doc/posix-functions/wctomb.texi: Likewise.
19077         * doc/posix-functions/wctrans.texi: Likewise.
19078         * doc/posix-functions/wctype.texi: Likewise.
19079         * doc/posix-functions/wcwidth.texi: Likewise.
19080         * doc/posix-functions/wmemchr.texi: Likewise.
19081         * doc/posix-functions/wmemcmp.texi: Likewise.
19082         * doc/posix-functions/wmemcpy.texi: Likewise.
19083         * doc/posix-functions/wmemmove.texi: Likewise.
19084         * doc/posix-functions/wmemset.texi: Likewise.
19085         * doc/posix-functions/wprintf.texi: Likewise.
19086         * doc/posix-functions/wscanf.texi: Likewise.
19087
19088 2008-12-21  Bruno Haible  <bruno@clisp.org>
19089
19090         Update doc for HP-UX 11.11.
19091         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19092         in HP-UX version 11.00, not in all versions of HP-UX 11.
19093         * doc/posix-functions/fwide.texi: Likewise.
19094         * doc/posix-functions/fwprintf.texi: Likewise.
19095         * doc/posix-functions/fwscanf.texi: Likewise.
19096         * doc/posix-functions/inet_ntop.texi: Likewise.
19097         * doc/posix-functions/inet_pton.texi: Likewise.
19098         * doc/posix-functions/mbrlen.texi: Likewise.
19099         * doc/posix-functions/mbrtowc.texi: Likewise.
19100         * doc/posix-functions/mbsinit.texi: Likewise.
19101         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19102         * doc/posix-functions/swprintf.texi: Likewise.
19103         * doc/posix-functions/swscanf.texi: Likewise.
19104         * doc/posix-functions/towctrans.texi: Likewise.
19105         * doc/posix-functions/vfwprintf.texi: Likewise.
19106         * doc/posix-functions/vswprintf.texi: Likewise.
19107         * doc/posix-functions/vwprintf.texi: Likewise.
19108         * doc/posix-functions/wcrtomb.texi: Likewise.
19109         * doc/posix-functions/wcsrtombs.texi: Likewise.
19110         * doc/posix-functions/wcsstr.texi: Likewise.
19111         * doc/posix-functions/wctob.texi: Likewise.
19112         * doc/posix-functions/wctrans.texi: Likewise.
19113         * doc/posix-functions/wmemchr.texi: Likewise.
19114         * doc/posix-functions/wmemcmp.texi: Likewise.
19115         * doc/posix-functions/wmemcpy.texi: Likewise.
19116         * doc/posix-functions/wmemmove.texi: Likewise.
19117         * doc/posix-functions/wmemset.texi: Likewise.
19118         * doc/posix-functions/wprintf.texi: Likewise.
19119         * doc/posix-functions/wscanf.texi: Likewise.
19120
19121 2008-12-21  Bruno Haible  <bruno@clisp.org>
19122
19123         Work around a portability problem.
19124         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19125         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19126
19127 2008-12-20  Bruno Haible  <bruno@clisp.org>
19128
19129         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19130         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19131         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19133         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19134
19135         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19136         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19137         set.
19138         (GNULIB_defined_mbstate_t): New macro.
19139         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19140         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19141         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19142         reuses the system's mbrtowc function but works around the bugs.
19143         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19144         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19145         macros.
19146         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19147         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19148         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19149         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19150         REPLACE_MBSINIT if mbsinit needs to be overridden.
19151         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19152         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19153         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19154         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19155         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19156         m4/locale-zh.m4.
19157         (Depends): Add mbsinit.
19158         * modules/mbsinit (Depends): Add mbrtowc.
19159         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
19160
19161 2008-12-20  Bruno Haible  <bruno@clisp.org>
19162
19163         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
19164         so that there are no conversion errors on AIX.
19165         * tests/test-mbsrtowcs.c (main): LIkewise.
19166
19167 2008-12-20  Bruno Haible  <bruno@clisp.org>
19168
19169         Work around wctob bug on Solaris <= 9.
19170         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
19171         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
19172         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
19173         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
19174         * modules/wctob (Files): Add m4/locale-fr.m4.
19175         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
19176
19177 2008-12-20  Bruno Haible  <bruno@clisp.org>
19178
19179         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
19180         /dev/null.
19181         * tests/test-select-in.sh: Likewise.
19182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19183
19184 2008-12-20  Bruno Haible  <bruno@clisp.org>
19185
19186         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19187         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19188         Cygwin 1.5.x.
19189
19190 2008-12-20  Bruno Haible  <bruno@clisp.org>
19191
19192         Ensure mbstate_t is defined on HP-UX 11.11.
19193         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19194         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19195         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19196         AC_USE_SYSTEM_EXTENSIONS.
19197         * modules/fnmatch (Depends-on): Add extensions.
19198         * modules/mbrlen (Depends-on): Likewise.
19199         * modules/mbrtowc (Depends-on): Likewise.
19200         * modules/mbsinit (Depends-on): Likewise.
19201         * modules/mbsrtowcs (Depends-on): Likewise.
19202         * modules/mbswidth (Depends-on): Likewise.
19203         * modules/quotearg (Depends-on): Likewise.
19204         * modules/strftime (Depends-on): Likewise.
19205
19206 2008-12-20  Bruno Haible  <bruno@clisp.org>
19207
19208         Ensure wctob is declared on IRIX 6.5.
19209         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19210         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19211         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19212         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19213         of HAVE_WCTOB.
19214         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19215         HAVE_WCTOB.
19216         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19217
19218 2008-12-19  Bruno Haible  <bruno@clisp.org>
19219
19220         * modules/mbsrtowcs-tests: New file.
19221         * tests/test-mbsrtowcs1.sh: New file.
19222         * tests/test-mbsrtowcs2.sh: New file.
19223         * tests/test-mbsrtowcs3.sh: New file.
19224         * tests/test-mbsrtowcs4.sh: New file.
19225         * tests/test-mbsrtowcs.c: New file.
19226
19227         New module 'mbsrtowcs'.
19228         * lib/wchar.in.h (mbsrtowcs): New declaration.
19229         * lib/mbsrtowcs.c: New file.
19230         * m4/mbsrtowcs.m4: New file.
19231         * modules/mbsrtowcs: New file.
19232         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19233         HAVE_MBSRTOWCS.
19234         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19235         HAVE_MBSRTOWCS.
19236         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19237
19238 2008-12-19  Bruno Haible  <bruno@clisp.org>
19239
19240         New module 'mbrlen'.
19241         * lib/wchar.in.h (mbrlen): New declaration.
19242         * lib/mbrlen.c: New file.
19243         * m4/mbrlen.m4: New file.
19244         * modules/mbrlen: New file.
19245         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19246         HAVE_MBRLEN.
19247         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19248         HAVE_MBRLEN.
19249         * doc/posix-functions/mbrlen.texi: Document the new module.
19250
19251 2008-12-19  Bruno Haible  <bruno@clisp.org>
19252
19253         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19254         * modules/mbrtowc (Depends-on): Add verify.
19255         Suggested by Paul Eggert.
19256
19257 2008-12-18  Bruno Haible  <bruno@clisp.org>
19258
19259         * modules/mbsinit-tests: New file.
19260         * tests/test-mbsinit.sh: New file.
19261         * tests/test-mbsinit.c: New file.
19262
19263 2008-12-18  Bruno Haible  <bruno@clisp.org>
19264
19265         * modules/mbrtowc-tests: New file.
19266         * tests/test-mbrtowc1.sh: New file.
19267         * tests/test-mbrtowc2.sh: New file.
19268         * tests/test-mbrtowc3.sh: New file.
19269         * tests/test-mbrtowc4.sh: New file.
19270         * tests/test-mbrtowc.c: New file.
19271
19272         New module 'mbrtowc'.
19273         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19274         mbsinit and mbrtowc.
19275         (mbrtowc): New declaration.
19276         * lib/mbrtowc.c: New file.
19277         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19278         * modules/mbrtowc: New file.
19279         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19280         HAVE_MBRTOWC.
19281         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19282         HAVE_MBRTOWC.
19283         * doc/posix-functions/mbrtowc.texi: Document the new module.
19284
19285 2008-12-18  Bruno Haible  <bruno@clisp.org>
19286
19287         New module 'wctob'.
19288         * lib/wchar.in.h (wctob): New declaration.
19289         * lib/wctob.c: New file.
19290         * m4/wctob.m4: New file.
19291         * modules/wctob: New file.
19292         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19293         HAVE_WCTOB.
19294         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19295         * doc/posix-functions/wctob.texi: Document the new module.
19296
19297 2008-12-18  Bruno Haible  <bruno@clisp.org>
19298
19299         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19300         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19301
19302 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19303
19304         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19305         G. Christensen" <tgc@jupiterrise.com>.
19306
19307         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19308         G. Christensen" <tgc@jupiterrise.com>.
19309
19310         * lib/flock.c: Need to include string.h.  Reported by "Tom
19311         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19312         <ebb9@byu.net>.
19313
19314 2008-12-18  Bruno Haible  <bruno@clisp.org>
19315
19316         * m4/locale-ja.m4: New file, from GNU gettext.
19317
19318 2008-12-17  Bruno Haible  <bruno@clisp.org>
19319
19320         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19321         Suggested by Eric Blake.
19322
19323 2008-12-17  Bruno Haible  <bruno@clisp.org>
19324
19325         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19326
19327 2008-12-17  Bruno Haible  <bruno@clisp.org>
19328
19329         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19330         * modules/mbsinit (Depends-on): Add verify.
19331         Suggested by Paul Eggert.
19332
19333 2008-12-17  Bruno Haible  <bruno@clisp.org>
19334
19335         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19336         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19337         gl_FUNC_MBRTOWC.
19338         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19339         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19340         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19341         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19342         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19343         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19344         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19345         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19346         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19347         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19348         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19349         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19350         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19351         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19352         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19353         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19354         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19355         * modules/trim (configure.ac): Likewise.
19356
19357 2008-12-17  Bruno Haible  <bruno@clisp.org>
19358
19359         * modules/btowc-tests: New file.
19360         * tests/test-btowc1.sh: New file.
19361         * tests/test-btowc2.sh: New file.
19362         * tests/test-btowc.c: New file.
19363
19364         New module 'btowc'.
19365         * lib/wchar.in.h (btowc): New declaration.
19366         * lib/btowc.c: New file.
19367         * m4/btowc.m4: New file.
19368         * modules/btowc: New file.
19369         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19370         HAVE_BTOWC.
19371         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19372         * doc/posix-functions/btowc.texi: Document the new module.
19373
19374 2008-12-17  Bruno Haible  <bruno@clisp.org>
19375
19376         New module 'mbsinit'.
19377         * lib/wchar.in.h (mbsinit): New declaration.
19378         * lib/mbsinit.c: New file.
19379         * m4/mbsinit.m4: New file.
19380         * modules/mbsinit: New file.
19381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19382         HAVE_MBSINIT.
19383         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19384         HAVE_MBSINIT.
19385         * doc/posix-functions/mbsinit.texi: Document the new module.
19386
19387 2008-12-16  Bruno Haible  <bruno@clisp.org>
19388
19389         * lib/unistd.in.h: Add comment.
19390         * tests/test-environ.c: Don't include <stdlib.h>.
19391
19392 2008-12-16  Bruno Haible  <bruno@clisp.org>
19393
19394         * lib/parse-duration.h (parse_duration): Document return value
19395         convention.
19396         * lib/parse-duration.c: Include specification header first. Add
19397         comments.
19398         (_): Remove macro.
19399         (parse_year_month_day, parse_hour_minute_second): Move side effects
19400         outside of strchr call.
19401         (parse_non_iso8601): Move side effects outside of isspace call.
19402         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19403         call.
19404
19405 2008-12-16  Bruno Haible  <bruno@clisp.org>
19406
19407         * tests/test-parse-duration.sh: Produce no output when the test
19408         succeeds.
19409
19410 2008-12-16  Bruno Haible  <bruno@clisp.org>
19411
19412         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19413         expressions.
19414
19415 2008-12-15  Bruno Haible  <bruno@clisp.org>
19416
19417         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19418         * doc/glibc-functions/flistxattr.texi: Likewise.
19419         * doc/glibc-functions/fopencookie.texi: Likewise.
19420         * doc/glibc-functions/fremovexattr.texi: Likewise.
19421         * doc/glibc-functions/fsetxattr.texi: Likewise.
19422         * doc/glibc-functions/getxattr.texi: Likewise.
19423         * doc/glibc-functions/lgetxattr.texi: Likewise.
19424         * doc/glibc-functions/listxattr.texi: Likewise.
19425         * doc/glibc-functions/llistxattr.texi: Likewise.
19426         * doc/glibc-functions/lremovexattr.texi: Likewise.
19427         * doc/glibc-functions/lsetxattr.texi: Likewise.
19428         * doc/glibc-functions/removexattr.texi: Likewise.
19429         * doc/glibc-functions/setxattr.texi: Likewise.
19430         * doc/posix-functions/open_memstream.texi: Likewise.
19431
19432 2008-12-15  Eric Blake  <ebb9@byu.net>
19433
19434         Update doc for cygwin 1.7.
19435         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19436         functions.
19437         * doc/posix-functions/fchmodat.texi: Likewise.
19438         * doc/posix-functions/fchownat.texi: Likewise.
19439         * doc/posix-functions/fdopendir.texi: Likewise.
19440         * doc/posix-functions/fmemopen.texi: Likewise.
19441         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19442         * doc/posix-functions/fstatat.texi: Likewise.
19443         * doc/posix-functions/futimens.texi: Likewise.
19444         * doc/posix-functions/gai_strerror.texi: Likewise.
19445         * doc/posix-functions/getaddrinfo.texi: Likewise.
19446         * doc/posix-functions/getnameinfo.texi: Likewise.
19447         * doc/posix-functions/if_freenameindex.texi: Likewise.
19448         * doc/posix-functions/if_indextoname.texi: Likewise.
19449         * doc/posix-functions/if_nameindex.texi: Likewise.
19450         * doc/posix-functions/if_nametoindex.texi: Likewise.
19451         * doc/posix-functions/insque.texi: Likewise.
19452         * doc/posix-functions/linkat.texi: Likewise.
19453         * doc/posix-functions/llrint.texi: Likewise.
19454         * doc/posix-functions/llrintf.texi: Likewise.
19455         * doc/posix-functions/llrintl.texi: Likewise.
19456         * doc/posix-functions/lockf.texi: Likewise.
19457         * doc/posix-functions/lrintl.texi: Likewise.
19458         * doc/posix-functions/mkdirat.texi: Likewise.
19459         * doc/posix-functions/mkfifoat.texi: Likewise.
19460         * doc/posix-functions/mknodat.texi: Likewise.
19461         * doc/posix-functions/mq_close.texi: Likewise.
19462         * doc/posix-functions/mq_getattr.texi: Likewise.
19463         * doc/posix-functions/mq_notify.texi: Likewise.
19464         * doc/posix-functions/mq_open.texi: Likewise.
19465         * doc/posix-functions/mq_receive.texi: Likewise.
19466         * doc/posix-functions/mq_send.texi: Likewise.
19467         * doc/posix-functions/mq_setattr.texi: Likewise.
19468         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19469         * doc/posix-functions/mq_timedsend.texi: Likewise.
19470         * doc/posix-functions/mq_unlink.texi: Likewise.
19471         * doc/posix-functions/open_memstream.texi: Likewise.
19472         * doc/posix-functions/openat.texi: Likewise.
19473         * doc/posix-functions/posix_fadvise.texi: Likewise.
19474         * doc/posix-functions/posix_fallocate.texi: Likewise.
19475         * doc/posix-functions/posix_madvise.texi: Likewise.
19476         * doc/posix-functions/posix_memalign.texi: Likewise.
19477         * doc/posix-functions/posix_openpt.texi: Likewise.
19478         * doc/posix-functions/readlinkat.texi: Likewise.
19479         * doc/posix-functions/remque.texi: Likewise.
19480         * doc/posix-functions/renameat.texi: Likewise.
19481         * doc/posix-functions/rintl.texi: Likewise.
19482         * doc/posix-functions/sem_unlink.texi: Likewise.
19483         * doc/posix-functions/shm_open.texi: Likewise.
19484         * doc/posix-functions/shm_unlink.texi: Likewise.
19485         * doc/posix-functions/signgam.texi: Likewise.
19486         * doc/posix-functions/sigset.texi: Likewise.
19487         * doc/posix-functions/stpcpy.texi: Likewise.
19488         * doc/posix-functions/stpncpy.texi: Likewise.
19489         * doc/posix-functions/strerror.texi: Likewise.
19490         * doc/posix-functions/strtod.texi: Likewise.
19491         * doc/posix-functions/symlinkat.texi: Likewise.
19492         * doc/posix-functions/unlinkat.texi: Likewise.
19493         * doc/posix-functions/utimensat.texi: Likewise.
19494         * doc/glibc-functions/bindresvport.texi: Likewise.
19495         * doc/glibc-functions/dn_expand.texi: Likewise.
19496         * doc/glibc-functions/exp10.texi: Likewise.
19497         * doc/glibc-functions/exp10f.texi: Likewise.
19498         * doc/glibc-functions/fgetxattr.texi: Likewise.
19499         * doc/glibc-functions/flistxattr.texi: Likewise.
19500         * doc/glibc-functions/fopencookie.texi: Likewise.
19501         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19502         * doc/glibc-functions/fremovexattr.texi: Likewise.
19503         * doc/glibc-functions/fsetxattr.texi: Likewise.
19504         * doc/glibc-functions/getifaddrs.texi: Likewise.
19505         * doc/glibc-functions/getxattr.texi: Likewise.
19506         * doc/glibc-functions/lgetxattr.texi: Likewise.
19507         * doc/glibc-functions/listxattr.texi: Likewise.
19508         * doc/glibc-functions/llistxattr.texi: Likewise.
19509         * doc/glibc-functions/lremovexattr.texi: Likewise.
19510         * doc/glibc-functions/lsetxattr.texi: Likewise.
19511         * doc/glibc-functions/pow10.texi: Likewise.
19512         * doc/glibc-functions/pow10f.texi: Likewise.
19513         * doc/glibc-functions/rcmd_af.texi: Likewise.
19514         * doc/glibc-functions/removexattr.texi: Likewise.
19515         * doc/glibc-functions/res_init.texi: Likewise.
19516         * doc/glibc-functions/res_mkquery.texi: Likewise.
19517         * doc/glibc-functions/res_query.texi: Likewise.
19518         * doc/glibc-functions/res_querydomain.texi: Likewise.
19519         * doc/glibc-functions/res_send.texi: Likewise.
19520         * doc/glibc-functions/rresvport_af.texi: Likewise.
19521         * doc/glibc-functions/setxattr.texi: Likewise.
19522         * doc/glibc-functions/strcasestr.texi: Likewise.
19523
19524 2008-12-15  Bruno Haible  <bruno@clisp.org>
19525
19526         Fix compilation error on OSF/1 4.0.
19527         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19528         <sys/time.h>, simply delegate to the system header.
19529         Reported by Daniel Richard G. <oss@teragram.com>.
19530
19531 2008-12-15  Bruno Haible  <bruno@clisp.org>
19532
19533         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19534         * doc/posix-functions/fchmodat.texi: Likewise.
19535         * doc/posix-functions/fchownat.texi: Likewise.
19536         * doc/posix-functions/fdopendir.texi: Likewise.
19537         * doc/posix-functions/fstatat.texi: Likewise.
19538         * doc/posix-functions/mkdirat.texi: Likewise.
19539         * doc/posix-functions/unlinkat.texi: Likewise.
19540
19541 2008-12-14  Bruno Haible  <bruno@clisp.org>
19542
19543         Update doc for POSIX:2008.
19544         * doc/posix-functions/faccessat.texi: New file.
19545         * doc/posix-functions/fchmodat.texi: New file.
19546         * doc/posix-functions/fchownat.texi: New file.
19547         * doc/posix-functions/fdopendir.texi: New file.
19548         * doc/posix-functions/fstatat.texi: New file.
19549         * doc/posix-functions/futimens.texi: New file.
19550         * doc/posix-functions/linkat.texi: New file.
19551         * doc/posix-functions/mkdirat.texi: New file.
19552         * doc/posix-functions/mkfifoat.texi: New file.
19553         * doc/posix-functions/mknodat.texi: New file.
19554         * doc/posix-functions/open_wmemstream.texi: New file.
19555         * doc/posix-functions/openat.texi: New file.
19556         * doc/posix-functions/psiginfo.texi: New file.
19557         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19558         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19559         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19560         * doc/posix-functions/readlinkat.texi: New file.
19561         * doc/posix-functions/renameat.texi: New file.
19562         * doc/posix-functions/strerror_l.texi: New file.
19563         * doc/posix-functions/symlinkat.texi: New file.
19564         * doc/posix-functions/unlinkat.texi: New file.
19565         * doc/posix-functions/utimensat.texi: New file.
19566         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19567
19568 2008-12-14  Bruno Haible  <bruno@clisp.org>
19569
19570         Update doc for POSIX:2008.
19571         * doc/posix-functions/alphasort.texi: Renamed from
19572         doc/glibc-functions/alphasort.texi.
19573         * doc/posix-functions/dirfd.texi: Renamed from
19574         doc/glibc-functions/dirfd.texi.
19575         * doc/posix-functions/dprintf.texi: Renamed from
19576         doc/glibc-functions/dprintf.texi.
19577         * doc/posix-functions/duplocale.texi: Renamed from
19578         doc/glibc-functions/duplocale.texi.
19579         * doc/posix-functions/fexecve.texi: Renamed from
19580         doc/glibc-functions/fexecve.texi.
19581         * doc/posix-functions/fmemopen.texi: Renamed from
19582         doc/glibc-functions/fmemopen.texi.
19583         * doc/posix-functions/freelocale.texi: Renamed from
19584         doc/glibc-functions/freelocale.texi.
19585         * doc/posix-functions/getdate_err.texi: Renamed from
19586         doc/glibc-functions/getdate_err.texi.
19587         * doc/posix-functions/isalnum_l.texi: Renamed from
19588         doc/glibc-functions/isalnum_l.texi.
19589         * doc/posix-functions/isalpha_l.texi: Renamed from
19590         doc/glibc-functions/isalpha_l.texi.
19591         * doc/posix-functions/isblank_l.texi: Renamed from
19592         doc/glibc-functions/isblank_l.texi.
19593         * doc/posix-functions/iscntrl_l.texi: Renamed from
19594         doc/glibc-functions/iscntrl_l.texi.
19595         * doc/posix-functions/isdigit_l.texi: Renamed from
19596         doc/glibc-functions/isdigit_l.texi.
19597         * doc/posix-functions/isgraph_l.texi: Renamed from
19598         doc/glibc-functions/isgraph_l.texi.
19599         * doc/posix-functions/islower_l.texi: Renamed from
19600         doc/glibc-functions/islower_l.texi.
19601         * doc/posix-functions/isprint_l.texi: Renamed from
19602         doc/glibc-functions/isprint_l.texi.
19603         * doc/posix-functions/ispunct_l.texi: Renamed from
19604         doc/glibc-functions/ispunct_l.texi.
19605         * doc/posix-functions/isspace_l.texi: Renamed from
19606         doc/glibc-functions/isspace_l.texi.
19607         * doc/posix-functions/isupper_l.texi: Renamed from
19608         doc/glibc-functions/isupper_l.texi.
19609         * doc/posix-functions/iswalnum_l.texi: Renamed from
19610         doc/glibc-functions/iswalnum_l.texi.
19611         * doc/posix-functions/iswalpha_l.texi: Renamed from
19612         doc/glibc-functions/iswalpha_l.texi.
19613         * doc/posix-functions/iswblank_l.texi: Renamed from
19614         doc/glibc-functions/iswblank_l.texi.
19615         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19616         doc/glibc-functions/iswcntrl_l.texi.
19617         * doc/posix-functions/iswctype_l.texi: Renamed from
19618         doc/glibc-functions/iswctype_l.texi.
19619         * doc/posix-functions/iswdigit_l.texi: Renamed from
19620         doc/glibc-functions/iswdigit_l.texi.
19621         * doc/posix-functions/iswgraph_l.texi: Renamed from
19622         doc/glibc-functions/iswgraph_l.texi.
19623         * doc/posix-functions/iswlower_l.texi: Renamed from
19624         doc/glibc-functions/iswlower_l.texi.
19625         * doc/posix-functions/iswprint_l.texi: Renamed from
19626         doc/glibc-functions/iswprint_l.texi.
19627         * doc/posix-functions/iswpunct_l.texi: Renamed from
19628         doc/glibc-functions/iswpunct_l.texi.
19629         * doc/posix-functions/iswspace_l.texi: Renamed from
19630         doc/glibc-functions/iswspace_l.texi.
19631         * doc/posix-functions/iswupper_l.texi: Renamed from
19632         doc/glibc-functions/iswupper_l.texi.
19633         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19634         doc/glibc-functions/iswxdigit_l.texi.
19635         * doc/posix-functions/isxdigit_l.texi: Renamed from
19636         doc/glibc-functions/isxdigit_l.texi.
19637         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19638         doc/glibc-functions/mbsnrtowcs.texi.
19639         * doc/posix-functions/mkdtemp.texi: Renamed from
19640         doc/glibc-functions/mkdtemp.texi.
19641         * doc/posix-functions/newlocale.texi: Renamed from
19642         doc/glibc-functions/newlocale.texi.
19643         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
19644         doc/glibc-functions/nl_langinfo_l.texi.
19645         * doc/posix-functions/open_memstream.texi: Renamed from
19646         doc/glibc-functions/open_memstream.texi.
19647         * doc/posix-functions/opterr.texi: Renamed from
19648         doc/glibc-functions/opterr.texi.
19649         * doc/posix-functions/optind.texi: Renamed from
19650         doc/glibc-functions/optind.texi.
19651         * doc/posix-functions/optopt.texi: Renamed from
19652         doc/glibc-functions/optopt.texi.
19653         * doc/posix-functions/psignal.texi: Renamed from
19654         doc/glibc-functions/psignal.texi.
19655         * doc/posix-functions/scandir.texi: Renamed from
19656         doc/glibc-functions/scandir.texi.
19657         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
19658         doc/glibc-functions/sched_get_priority_min.texi.
19659         * doc/posix-functions/signgam.texi: Renamed from
19660         doc/glibc-functions/signgam.texi.
19661         * doc/posix-functions/stpcpy.texi: Renamed from
19662         doc/glibc-functions/stpcpy.texi.
19663         * doc/posix-functions/stpncpy.texi: Renamed from
19664         doc/glibc-functions/stpncpy.texi.
19665         * doc/posix-functions/strcasecmp_l.texi: Renamed from
19666         doc/glibc-functions/strcasecmp_l.texi.
19667         * doc/posix-functions/strcoll_l.texi: Renamed from
19668         doc/glibc-functions/strcoll_l.texi.
19669         * doc/posix-functions/strfmon_l.texi: Renamed from
19670         doc/glibc-functions/strfmon_l.texi.
19671         * doc/posix-functions/strftime_l.texi: Renamed from
19672         doc/glibc-functions/strftime_l.texi.
19673         * doc/posix-functions/strncasecmp_l.texi: Renamed from
19674         doc/glibc-functions/strncasecmp_l.texi.
19675         * doc/posix-functions/strndup.texi: Renamed from
19676         doc/glibc-functions/strndup.texi.
19677         * doc/posix-functions/strnlen.texi: Renamed from
19678         doc/glibc-functions/strnlen.texi.
19679         * doc/posix-functions/strsignal.texi: Renamed from
19680         doc/glibc-functions/strsignal.texi.
19681         * doc/posix-functions/strxfrm_l.texi: Renamed from
19682         doc/glibc-functions/strxfrm_l.texi.
19683         * doc/posix-functions/timer_gettime.texi: Renamed from
19684         doc/glibc-functions/timer_gettime.texi.
19685         * doc/posix-functions/tolower_l.texi: Renamed from
19686         doc/glibc-functions/tolower_l.texi.
19687         * doc/posix-functions/toupper_l.texi: Renamed from
19688         doc/glibc-functions/toupper_l.texi.
19689         * doc/posix-functions/towctrans_l.texi: Renamed from
19690         doc/glibc-functions/towctrans_l.texi.
19691         * doc/posix-functions/towlower_l.texi: Renamed from
19692         doc/glibc-functions/towlower_l.texi.
19693         * doc/posix-functions/towupper_l.texi: Renamed from
19694         doc/glibc-functions/towupper_l.texi.
19695         * doc/posix-functions/uselocale.texi: Renamed from
19696         doc/glibc-functions/uselocale.texi.
19697         * doc/posix-functions/vdprintf.texi: Renamed from
19698         doc/glibc-functions/vdprintf.texi.
19699         * doc/posix-functions/wcpcpy.texi:
19700         Renamed from doc/glibc-functions/wcpcpy.texi.
19701         * doc/posix-functions/wcpncpy.texi: Renamed from
19702         doc/glibc-functions/wcpncpy.texi.
19703         * doc/posix-functions/wcscasecmp.texi: Renamed from
19704         doc/glibc-functions/wcscasecmp.texi.
19705         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
19706         doc/glibc-functions/wcscasecmp_l.texi.
19707         * doc/posix-functions/wcscoll_l.texi: Renamed from
19708         doc/glibc-functions/wcscoll_l.texi.
19709         * doc/posix-functions/wcsdup.texi: Renamed from
19710         doc/glibc-functions/wcsdup.texi.
19711         * doc/posix-functions/wcsncasecmp.texi: Renamed from
19712         doc/glibc-functions/wcsncasecmp.texi.
19713         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
19714         doc/glibc-functions/wcsncasecmp_l.texi.
19715         * doc/posix-functions/wcsnlen.texi: Renamed from
19716         doc/glibc-functions/wcsnlen.texi.
19717         * doc/posix-functions/wcsnrtombs.texi: Renamed from
19718         doc/glibc-functions/wcsnrtombs.texi.
19719         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
19720         doc/glibc-functions/wcsxfrm_l.texi.
19721         * doc/posix-functions/wctrans_l.texi: Renamed from
19722         doc/glibc-functions/wctrans_l.texi.
19723         * doc/posix-functions/wctype_l.texi: Renamed from
19724         doc/glibc-functions/wctype_l.texi.
19725         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19726         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
19727         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
19728         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
19729         these subsections.
19730         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
19731         Remove sections.
19732
19733 2008-12-14  Bruno Haible  <bruno@clisp.org>
19734
19735         Update doc for POSIX:2008.
19736         * doc/posix-functions/*.texi: Update URL of POSIX specification.
19737
19738 2008-12-14  Bruno Haible  <bruno@clisp.org>
19739
19740         Update doc for POSIX:2008.
19741         * doc/pastposix-functions/bcmp.texi: Renamed from
19742         doc/posix-functions/bcmp.texi.
19743         * doc/pastposix-functions/bcopy.texi: Renamed from
19744         doc/posix-functions/bcopy.texi.
19745         * doc/pastposix-functions/bsd_signal.texi: Renamed from
19746         doc/posix-functions/bsd_signal.texi.
19747         * doc/pastposix-functions/bzero.texi: Renamed from
19748         doc/posix-functions/bzero.texi.
19749         * doc/pastposix-functions/ecvt.texi: Renamed from
19750         doc/posix-functions/ecvt.texi.
19751         * doc/pastposix-functions/fcvt.texi: Renamed from
19752         doc/posix-functions/fcvt.texi.
19753         * doc/pastposix-functions/ftime.texi: Renamed from
19754         doc/posix-functions/ftime.texi.
19755         * doc/pastposix-functions/gcvt.texi: Renamed from
19756         doc/posix-functions/gcvt.texi.
19757         * doc/pastposix-functions/getcontext.texi: Renamed from
19758         doc/posix-functions/getcontext.texi.
19759         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
19760         doc/posix-functions/gethostbyaddr.texi.
19761         * doc/pastposix-functions/gethostbyname.texi: Renamed from
19762         doc/posix-functions/gethostbyname.texi.
19763         * doc/pastposix-functions/getwd.texi: Renamed from
19764         doc/posix-functions/getwd.texi.
19765         * doc/pastposix-functions/h_errno.texi: Renamed from
19766         doc/posix-functions/h_errno.texi.
19767         * doc/pastposix-functions/index.texi: Renamed from
19768         doc/posix-functions/index.texi.
19769         * doc/pastposix-functions/makecontext.texi: Renamed from
19770         doc/posix-functions/makecontext.texi.
19771         * doc/pastposix-functions/mktemp.texi: Renamed from
19772         doc/posix-functions/mktemp.texi.
19773         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
19774         doc/posix-functions/pthread_attr_getstackaddr.texi.
19775         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
19776         doc/posix-functions/pthread_attr_setstackaddr.texi.
19777         * doc/pastposix-functions/rindex.texi: Renamed from
19778         doc/posix-functions/rindex.texi.
19779         * doc/pastposix-functions/scalb.texi: Renamed from
19780         doc/posix-functions/scalb.texi.
19781         * doc/pastposix-functions/setcontext.texi: Renamed from
19782         doc/posix-functions/setcontext.texi.
19783         * doc/pastposix-functions/swapcontext.texi: Renamed from
19784         doc/posix-functions/swapcontext.texi.
19785         * doc/pastposix-functions/ualarm.texi: Renamed from
19786         doc/posix-functions/ualarm.texi.
19787         * doc/pastposix-functions/usleep.texi: Renamed from
19788         doc/posix-functions/usleep.texi.
19789         * doc/pastposix-functions/vfork.texi: Renamed from
19790         doc/posix-functions/vfork.texi.
19791         * doc/pastposix-functions/wcswcs.texi: Renamed from
19792         doc/posix-functions/wcswcs.texi.
19793         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
19794         (Function Substitutes): Update.
19795
19796 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19797
19798         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
19799         m4/strerror.m4.
19800
19801 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19802             Bruno Haible  <bruno@clisp.org>
19803
19804         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
19805
19806 2008-12-13  Bruno Haible  <bruno@clisp.org>
19807
19808         * modules/strtoull (Depends-on): Remove unistd.
19809
19810 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19811
19812         * modules/strtoull (Depends-on): Add stdlib.
19813
19814 2008-12-11  Simon Josefsson  <simon@josefsson.org>
19815
19816         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
19817
19818 2008-12-10  Jim Meyering  <meyering@redhat.com>
19819
19820         gl_ASSERT: don't say assertions are disabled when they're not
19821         * m4/assert.m4 (gl_ASSERT): Do not make configure report
19822         "checking whether to enable assertions... no", when they are in
19823         fact enabled.  This is solely a bug in the output of configure.
19824         In spite of saying "no", NDEBUG was not defined in that case.
19825         Also, as noted by Eric Blake, leave assertions enabled upon
19826         --enable-assert=INVALID.
19827
19828 2008-12-10  Bruno Haible  <bruno@clisp.org>
19829
19830         Change MODULES.html to refer to POSIX:2008 where possible.
19831         * MODULES.html.sh (POSIX2008_URL): New variable.
19832         (posix_headers): Remove sys/timeb, ucontext.
19833         (posix2001_headers): New variable.
19834         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
19835         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
19836         index, makecontext, mktemp, pthread_attr_getstackaddr,
19837         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
19838         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
19839         (posix2001_functions): New variable.
19840         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
19841         otherwise.
19842
19843 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19844
19845         add missing include to parse-duration.c
19846         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
19847         * modules/parse-duration (Depends-on): Add xalloc.
19848
19849         fix sed script reading maint.mk
19850         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
19851         (syntax-check-rules): Use it.
19852
19853 2008-12-09  Bruno Haible  <bruno@clisp.org>
19854
19855         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
19856         MacOS X 10.4/PowerPC.
19857         Reported by Simon Josefsson.
19858
19859 2008-12-08  Jim Meyering  <meyering@redhat.com>
19860
19861         work around mingw's lack of some S_IF definitions
19862         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
19863         Reported by Simon Josefsson.
19864
19865 2008-12-08  Bruno Haible  <bruno@clisp.org>
19866
19867         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
19868         applied to variables. Needed on MacOS X 10.4/PowerPC.
19869         Reported by Simon Josefsson.
19870
19871 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
19872         and Eric Blake  <ebb9@byu.net>
19873
19874         assert: honor --enable-assert
19875         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
19876         order to honor --enable-assert, rather than treating it as a
19877         synonym for --disable-assert.
19878
19879 2008-12-08  Jim Meyering  <meyering@redhat.com>
19880
19881         * lib/posixtm.c: Remove now-useless declaration of mktime.
19882
19883         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
19884
19885 2008-12-07  Bruno Haible  <bruno@clisp.org>
19886
19887         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
19888         test_once): Mark functions as static.
19889         * tests/test-tls.c (test_tls): Likewise.
19890
19891 2008-12-07  Bruno Haible  <bruno@clisp.org>
19892
19893         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
19894         iconv_register_autodetect.
19895
19896 2008-12-07  Jim Meyering  <meyering@redhat.com>
19897
19898         posixtm.c: avoid a warning
19899         * lib/posixtm.c (posixtime): Don't initialize tm0.
19900         It's no longer needed to placate gcc4's -Wuninitialized,
19901         and the attempt to placate would elicit a new warning.
19902
19903         unicodeio.c: mark unused parameters
19904         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
19905         (fallback_failure_callback): Likewise.
19906
19907 2008-12-07  Bruno Haible  <bruno@clisp.org>
19908
19909         * gnulib-tool (func_create_testdir): When building the tests
19910         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
19911         Reported by Simon Josefsson.
19912
19913 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19914
19915         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
19916
19917 2008-12-06  Bruno Haible  <bruno@clisp.org>
19918
19919         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
19920         Suggested by Eric Blake.
19921
19922 2008-12-06  Bruno Haible  <bruno@clisp.org>
19923
19924         Fix a c-stack test failure on MacOS X.
19925         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
19926         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
19927         handler for SIGBUS as well.
19928         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
19929         install a signal handler for SIGBUS as well.
19930         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
19931
19932 2008-12-06  Bruno Haible  <bruno@clisp.org>
19933
19934         Advocacy documentation.
19935         * doc/gnulib-intro.texi (Benefits): New section.
19936         * doc/gnulib.texi: Update.
19937
19938 2008-12-06  Bruno Haible  <bruno@clisp.org>
19939
19940         Document the 'manywarnings' module.
19941         * doc/manywarnings.texi: New file.
19942         * doc/gnulib.texi: Include it.
19943
19944 2008-12-05  Eric Blake  <ebb9@byu.net>
19945
19946         tests: silence some gcc warnings
19947         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
19948         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
19949         type mismatches.
19950
19951 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19952             Bruno Haible  <bruno@clisp.org>
19953
19954         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
19955
19956 2008-11-29  Jim Meyering  <meyering@redhat.com>
19957
19958         unicodeio.c: mark unused parameters
19959         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
19960         (fallback_failure_callback): Likewise.
19961
19962         fts: fix a thinko
19963         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
19964         (set_stat_type): Return S_IF*-valued "type" directly.
19965         Prompted by James Youngman's spotting a related bug.
19966         Confirmed by further testing through find.
19967
19968         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
19969         * lib/fts.c (D_TYPE): Define.
19970         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
19971         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
19972         (s_ifmt_shift_bits): New function.
19973         (set_stat_type): New function.
19974         (fts_build): When not calling fts_stat, call set_stat_type
19975         to propagate dirent.d_type info to fts_read caller.
19976         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
19977         fts_statp->st_mode type information may be valid.
19978
19979 2008-11-28  Simon Josefsson  <simon@josefsson.org>
19980
19981         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
19982         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
19983         <sds@gnu.org>.
19984
19985 2008-11-20  Bruno Haible  <bruno@clisp.org>
19986
19987         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
19988         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
19989         INCLUDE_NEXT.
19990         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
19991         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
19992         * modules/math (Makefile.am): Substitute
19993         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
19994         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19995
19996 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19997             Bruno Haible  <bruno@clisp.org>
19998
19999         * lib/stdint.in.h: Define all type macros so that their expansion is
20000         a single typedef'ed token. Fixes a compilation failure in Boost which
20001         does "using ::int8_t;".
20002
20003 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20004
20005         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20006         gl_MANYWARN_ALL_GCC.
20007         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20008         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20009         * modules/manywarnings: New file.
20010         * MODULES.html.sh: Mention manywarnings module.
20011
20012 2008-11-18  Bruno Haible  <bruno@clisp.org>
20013
20014         * doc/gnulib-tool.texi (Unit tests): New section.
20015
20016 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20017
20018         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20019         paths like 'lib/po/foo.po'.
20020
20021 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20022
20023         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20024         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20025
20026 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20027
20028         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20029         parameter works.
20030
20031 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20032
20033         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20034
20035 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20036
20037         * modules/parse-duration-tests: New file.
20038         * tests/test-parse-duration.sh: New file.
20039         * tests/test-parse-duration.c: New file.
20040
20041         New module 'parse-duration'.
20042         * lib/parse-duration.h: New file.
20043         * lib/parse-duration.c: New file.
20044         * modules/parse-duration: New file.
20045
20046 2008-11-17  Bruno Haible  <bruno@clisp.org>
20047
20048         * tests/test-select-out.sh: Comment out the first pipe test.
20049         Reported by Simon Josefsson.
20050
20051 2008-11-17  Bruno Haible  <bruno@clisp.org>
20052
20053         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20054         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20055         gl_HOSTENT.
20056
20057 2008-11-17  Bruno Haible  <bruno@clisp.org>
20058
20059         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20060         -lnetwork and -lnet. Needed for Haiku and BeOS.
20061
20062 2008-11-16  Bruno Haible  <bruno@clisp.org>
20063
20064         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20065
20066 2008-11-16  Bruno Haible  <bruno@clisp.org>
20067
20068         Avoid test failure on Haiku.
20069         * tests/test-fsync.c: Include <errno.h>.
20070         (main): Don't require that fsync (0) fails.
20071
20072 2008-11-15  Bruno Haible  <bruno@clisp.org>
20073
20074         New module 'hostent'.
20075         * modules/hostent: New file.
20076         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20077
20078 2008-11-15  Bruno Haible  <bruno@clisp.org>
20079
20080         New module 'servent'.
20081         * modules/servent: New file.
20082         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20083
20084 2008-11-15  Bruno Haible  <bruno@clisp.org>
20085
20086         Avoid generating same test program with two different rules.
20087         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20088         test-frexp to test-frexp-nolibm.
20089         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20090         test-frexpl to test-frexpl-nolibm.
20091
20092 2008-11-15  Bruno Haible  <bruno@clisp.org>
20093
20094         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20095         $(FREXPL_LIBM).
20096
20097 2008-11-15  Bruno Haible  <bruno@clisp.org>
20098
20099         * lib/netdb.in.h: Activate the definitions also when the system's
20100         <netdb.h> has 'struct addrinfo'.
20101         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20102         EAI_OVERFLOW or AI_NUMERICSERV.
20103         * doc/posix-headers/netdb.texi: Document the problem.
20104
20105 2008-11-15  Bruno Haible  <bruno@clisp.org>
20106
20107         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20108
20109         Make the 'sched' module work on platforms where <sched.h> exists but
20110         is incomplete (such as Haiku).
20111         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20112         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20113         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20114         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20115         HAVE_STRUCT_SCHED_PARAM.
20116         * modules/sched (Depends-on): Add include_next.
20117         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20118         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20119         * doc/posix-headers/sched.texi: Document the issue.
20120
20121 2008-11-13  Jim Meyering  <meyering@redhat.com>
20122
20123         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20124         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20125         test would fail due to the difference in the Report bugs to ...
20126         line.  The expected address is empty, "<>", while the actual
20127         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20128
20129 2008-11-12  Bruno Haible  <bruno@clisp.org>
20130
20131         lstat: don't compile lstat.c on systems lacking lstat
20132         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20133         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20134         Reported by Daniel P. Berrange via Jim Meyering.
20135
20136 2008-11-12  Jim Meyering  <meyering@redhat.com>
20137
20138         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20139
20140 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20141
20142         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20143         instead.
20144
20145 2008-11-12  Bruno Haible  <bruno@clisp.org>
20146
20147         * lib/unicodeio.c: Include unistr.h.
20148         (utf8_wctomb): Remove function.
20149         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20150
20151 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20152
20153         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20154         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20155         <bruno@clisp.org>.
20156         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
20157
20158 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20159
20160         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
20161         * doc/gnulib.texi: Add section for warnings.
20162
20163 2008-11-11  Bruno Haible  <bruno@clisp.org>
20164
20165         * lib/sockets.h: Add a comment.
20166
20167 2008-11-11  Karl Berry  <karl@gnu.org>
20168
20169         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
20170
20171 2008-11-11  Eric Blake  <ebb9@byu.net>
20172
20173         fdl.texi: avoid git symlinks
20174         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
20175
20176 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20177
20178         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
20179
20180 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20181
20182         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
20183         (gl_WARN_ADD): Substitute $2 if literal.
20184
20185 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20186
20187         * m4/warning.m4: Remove.
20188
20189 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20190
20191         * m4/warnings.m4: Almost complete rewrite. :-)
20192
20193 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20194
20195         * modules/warnings: New module.
20196         * m4/warnings.m4: New file.
20197         * MODULES.html.sh: Mention warnings module.
20198         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20199         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20200
20201 2008-11-10  Eric Blake  <ebb9@byu.net>
20202
20203         fdl.texi: make a symlink to the latest version
20204         * doc/standards.texi: Revert today's earlier change.
20205         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20206         * doc/fdl.texi: ...and replace this with a symlink to the newer
20207         fdl-1.3.texi.
20208
20209 2008-11-10  Bruno Haible  <bruno@clisp.org>
20210
20211         * tests/test-select-fd.c (main): Accept the result file name as fourth
20212         argument.
20213         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20214         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20215
20216 2008-11-10  Bruno Haible  <bruno@clisp.org>
20217
20218         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20219         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20220         as autoconf-substituted macros.
20221         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20222         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20223         gl_NETDB_H_DEFAULTS. Set these variables.
20224         * modules/netdb (Makefile.am): Substitute these variables.
20225
20226 2008-11-10  Eric Blake  <ebb9@byu.net>
20227
20228         standards.texi: include correct file for FDL 1.3
20229         * doc/standards.texi (GNU Free Documentation License): Change
20230         include file to pull in FDL 1.3, not 1.2.
20231
20232         fdl.texi: revert accidental change to license
20233         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20234
20235 2008-11-10  Bruno Haible  <bruno@clisp.org>
20236
20237         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20238         cross-compiling guesses also when the native compile gives no result.
20239
20240 2008-11-10  Bruno Haible  <bruno@clisp.org>
20241
20242         * lib/spawni.c (__spawni): Force variable into the stack.
20243
20244 2008-11-10  Bruno Haible  <bruno@clisp.org>
20245
20246         Add support for Haiku.
20247         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20248         glibc and BeOS, but also on Haiku.
20249         * lib/fpurge.c (fpurge): Likewise.
20250         * lib/freadable.c (freadable): Likewise.
20251         * lib/freadahead.c (freadahead): Likewise.
20252         * lib/freading.c (freading): Likewise.
20253         * lib/freadptr.c (freadptr): Likewise.
20254         * lib/freadseek.c (freadptrinc): Likewise.
20255         * lib/fseeko.c (rpl_fseeko): Likewise.
20256         * lib/fseterr.c (fseterr): Likewise.
20257         * lib/fwritable.c (fwritable): Likewise.
20258         * lib/fwriting.c (fwriting): Likewise.
20259         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20260
20261 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20262
20263         * lib/config.charset: Treat Haiku like BeOS.
20264
20265 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20266
20267         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20268         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20269
20270 2008-11-08  Bruno Haible  <bruno@clisp.org>
20271
20272         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20273         AC_CACHE_CHECK.
20274
20275 2008-11-08  Bruno Haible  <bruno@clisp.org>
20276
20277         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20278
20279 2008-11-08  Bruno Haible  <bruno@clisp.org>
20280
20281         * tests/test-select-fd.c: New file.
20282         * tests/test-select-in.sh: New file.
20283         * tests/test-select-out.sh: New file.
20284         * tests/test-select-stdin.c: New file.
20285         * modules/select-tests (Files): Add the new files.
20286         (Depends-on): Add gettimeofday.
20287         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20288         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20289         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20290
20291 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20292             Bruno Haible  <bruno@clisp.org>
20293
20294         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20295
20296 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20297
20298         * build-aux/pmccabe2html: Added support for C++ source files.
20299
20300 2008-11-05  Ben Pfaff  <blp@gnu.org>
20301
20302         Fix lib/close.c build on Windows.
20303         * modules/close (Files): Add lib/w32sock.h.
20304
20305 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20306
20307         Accept Bison's NEWS format.
20308         * build-aux/announce-gen (print_news_deltas): Tweak
20309         $re_prefix.
20310
20311 2008-11-04  Bruno Haible  <bruno@clisp.org>
20312
20313         * modules/random_r (Maintainer): Add glibc.
20314
20315 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20316
20317         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20318         by karl@freefriends.org (Karl Berry).
20319         * doc/alloca.texi: Likewise.
20320         * doc/c-ctype.texi: Likewise.
20321         * doc/c-strcase.texi: Likewise.
20322         * doc/c-strcaseeq.texi: Likewise.
20323         * doc/c-strcasestr.texi: Likewise.
20324         * doc/c-strstr.texi: Likewise.
20325         * doc/c-strtod.texi: Likewise.
20326         * doc/c-strtold.texi: Likewise.
20327         * doc/ctime.texi: Likewise.
20328         * doc/error.texi: Likewise.
20329         * doc/fdl.texi: Likewise.
20330         * doc/gcd.texi: Likewise.
20331         * doc/getdate.texi: Likewise.
20332         * doc/gnulib-intro.texi: Likewise.
20333         * doc/gnulib-tool.texi: Likewise.
20334         * doc/gnulib.texi: Likewise.
20335         * doc/inet_ntoa.texi: Likewise.
20336         * doc/maintain.texi: Likewise.
20337         * doc/make-stds.texi: Likewise.
20338         * doc/quote.texi: Likewise.
20339         * doc/regexprops-generic.texi: Likewise.
20340         * doc/standards.texi: Likewise.
20341         * doc/verify.texi: Likewise.
20342         * doc/visibility.texi: Likewise.
20343         * doc/gnulib.texi (GNU Free Documentation License): Include
20344         fdl-1.3.texi instead of fdl.texi.
20345
20346 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20347
20348         * doc/fdl-1.3.texi: New file, from
20349         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20350         * modules/fdl-1.3: Add.
20351         * MODULES.html.sh: Add fdl-1.3.
20352
20353 2008-11-03  Bruno Haible  <bruno@clisp.org>
20354
20355         Make determination of absolute name of header file work with AIX xlc.
20356         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20357         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20358         preprocessing.
20359         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20360         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20361
20362 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20363
20364         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20365         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20366         <ludo@gnu.org>.
20367
20368 2008-11-02  Bruno Haible  <bruno@clisp.org>
20369
20370         Mark 'strpbrk' obsolete.
20371         * modules/strpbrk (Status, Notice): New sections.
20372         * modules/strtok_r (Depends-on): Add strpbrk.
20373
20374 2008-11-02  Bruno Haible  <bruno@clisp.org>
20375
20376         Mark 'strdup' obsolete.
20377         * modules/strdup (Status, Notice): New sections.
20378         * modules/findprog (Depends-on): Add strdup.
20379         * modules/getaddrinfo (Depends-on): Likewise.
20380         * modules/localename (Depends-on): Likewise.
20381         * modules/relocatable-lib (Depends-on): Likewise.
20382         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20383         * modules/relocatable-prog (Depends-on): Likewise.
20384         * modules/trim (Depends-on): Likewise.
20385         * modules/unictype/gen-ctype (Depends-on): Likewise.
20386         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20387
20388 2008-11-02  Bruno Haible  <bruno@clisp.org>
20389
20390         Mark 'strcspn' obsolete.
20391         * modules/strcspn (Status, Notice): New sections.
20392
20393 2008-11-02  Bruno Haible  <bruno@clisp.org>
20394
20395         Mark 'rmdir' obsolete.
20396         * modules/rmdir (Status, Notice): New sections.
20397         * modules/clean-temp (Depends-on): Add rmdir.
20398         * modules/openat (Depends-on): Likewise.
20399
20400 2008-11-02  Bruno Haible  <bruno@clisp.org>
20401
20402         Mark 'raise' obsolete.
20403         * modules/raise (Status, Notice): New sections.
20404         (Include): Specify <signal.h>.
20405         * modules/stdio (Depends-on): Add raise.
20406         * modules/write (Depends-on): Likewise.
20407
20408 2008-11-02  Bruno Haible  <bruno@clisp.org>
20409
20410         Mark 'memset' obsolete.
20411         * modules/memset (Status, Notice): New sections.
20412
20413 2008-11-02  Bruno Haible  <bruno@clisp.org>
20414
20415         Mark 'memmove' obsolete.
20416         * modules/memmove (Status, Notice): New sections.
20417         * modules/argp (Depends-on): Add memmove.
20418         * modules/argz (Depends-on): Likewise.
20419         * modules/canonicalize (Depends-on): Likewise.
20420         * modules/canonicalize-lgpl (Depends-on): Likewise.
20421         * modules/fts (Depends-on): Likewise.
20422         * modules/getcwd (Depends-on): Likewise.
20423         * modules/human (Depends-on): Likewise.
20424         * modules/regex (Depends-on): Likewise.
20425         * modules/striconveh (Depends-on): Likewise.
20426         * modules/trim (Depends-on): Likewise.
20427         * modules/unistr/u8-move (Depends-on): Likewise.
20428         * modules/unistr/u16-move (Depends-on): Likewise.
20429         * modules/unistr/u32-move (Depends-on): Likewise.
20430
20431 2008-11-02  Bruno Haible  <bruno@clisp.org>
20432
20433         Mark 'memcpy' obsolete.
20434         * modules/memcpy (Status, Notice): New sections.
20435
20436 2008-11-02  Bruno Haible  <bruno@clisp.org>
20437
20438         Mark 'memcmp' obsolete.
20439         * modules/memcmp (Status, Notice): New sections.
20440         * modules/argmatch (Depends-on): Add memchr.
20441         * modules/backupfile (Depends-on): Likewise.
20442         * modules/c-strcasestr (Depends-on): Likewise.
20443         * modules/crypto/des (Depends-on): Likewise.
20444         * modules/csharpcomp (Depends-on): Likewise.
20445         * modules/fnmatch (Depends-on): Likewise.
20446         * modules/git-merge-changelog (Depends-on): Likewise.
20447         * modules/isnand (Depends-on): Likewise.
20448         * modules/isnand-nolibm (Depends-on): Likewise.
20449         * modules/isnanf (Depends-on): Likewise.
20450         * modules/isnanf-nolibm (Depends-on): Likewise.
20451         * modules/isnanl (Depends-on): Likewise.
20452         * modules/isnanl-nolibm (Depends-on): Likewise.
20453         * modules/mbchar (Depends-on): Likewise.
20454         * modules/memcoll (Depends-on): Likewise.
20455         * modules/quotearg (Depends-on): Likewise.
20456         * modules/regex (Depends-on): Likewise.
20457         * modules/relocatable-prog (Depends-on): Likewise.
20458         * modules/same (Depends-on): Likewise.
20459         * modules/signbit (Depends-on): Likewise.
20460         * modules/strcasestr-simple (Depends-on): Likewise.
20461         * modules/unictype/gen-ctype (Depends-on): Likewise.
20462         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20463         * modules/uniname/uniname (Depends-on): Likewise.
20464         * modules/unistr/u8-cmp (Depends-on): Likewise.
20465
20466 2008-11-02  Bruno Haible  <bruno@clisp.org>
20467
20468         Mark 'memchr' obsolete.
20469         * modules/memchr (Status, Notice): New sections.
20470         * modules/argp (Depends-on): Add memchr.
20471         * modules/base64 (Depends-on): Likewise.
20472         * modules/c-strcasestr (Depends-on): Likewise.
20473         * modules/chdir-long (Depends-on): Likewise.
20474         * modules/fnmatch (Depends-on): Likewise.
20475         * modules/getsubopt (Depends-on): Likewise.
20476         * modules/git-merge-changelog (Depends-on): Likewise.
20477         * modules/glob (Depends-on): Likewise.
20478         * modules/strcasestr-simple (Depends-on): Likewise.
20479         * modules/strnlen (Depends-on): Likewise.
20480
20481 2008-11-02  Bruno Haible  <bruno@clisp.org>
20482
20483         Mark 'atexit' obsolete.
20484         * modules/atexit (Status, Notice): New sections.
20485         * modules/chdir-long (Depends-on): Add atexit.
20486         * modules/wait-process (Depends-on): Likewise.
20487
20488 2008-11-02  Bruno Haible  <bruno@clisp.org>
20489
20490         * gnulib-tool: New option --with-obsolete.
20491         (func_usage): Document it.
20492         (func_modules_transitive_closure): Drop obsolete dependencies if
20493         incobsolete is not true.
20494         (func_import): Read and save the incobsolete variable to the cache.
20495
20496 2008-11-02  Bruno Haible  <bruno@clisp.org>
20497
20498         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20499         * gnulib-tool: New option --extract-status.
20500         (func_usage): Document it.
20501         (sed_extract_prog): Recognize it.
20502         (func_get_status): New function.
20503
20504 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20505
20506         * modules/sockets (License): Change from LGPL to LGPLv2+.
20507
20508 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20509
20510         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20511
20512 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20513
20514         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20515         Mention times and sys_times.
20516         * modules/sys_times, modules/sys_times-tests: New modules.
20517         * modules/times, modules/times-tests: Likewise
20518         * m4/sys_times_h.m4: New file.
20519         * lib/sys_times.in.h: Likewise
20520         * lib/times.c: Likewise.
20521         * tests/test-sys_times.c: Likewise.
20522         * tests/test-times.c: Likewise.
20523         * doc/posix-headers/sys_times.texi: Update.
20524         * doc/posix-functions/times.texi: Update.
20525
20526 2008-10-28  Jim Meyering  <meyering@redhat.com>
20527
20528         * modules/tempname (Depends-on): Add lstat.
20529
20530         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20531
20532 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20533
20534         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20535         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20536         using idiom used elsewhere in gnulib.
20537
20538 2008-10-27  Jim Meyering  <meyering@redhat.com>
20539
20540         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20541
20542 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20543
20544         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20545         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20546         programs.
20547         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20548
20549 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20550
20551         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20552
20553 2008-10-27  Bruno Haible  <bruno@clisp.org>
20554
20555         * tests/test-lstat.c: Include <stdio.h>.
20556
20557 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20558
20559         * modules/lstat-tests: New module.
20560         * tests/test-lstat.c: New file.
20561
20562 2008-10-26  Jim Meyering  <meyering@redhat.com>
20563
20564         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20565
20566 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20567             Bruno Haible  <bruno@clisp.org>
20568
20569         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20570         * modules/configmake (Include): Add a note that the include must come
20571         after all system headers.
20572         * lib/javaversion.c: Include configmake.h after all other includes.
20573
20574 2008-10-26  Bruno Haible  <bruno@clisp.org>
20575
20576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20577         HAVE_STRUCT_RANDOM_DATA to 1.
20578         (gl_STDLIB_H): Simplify.
20579
20580 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20581
20582         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20583         substitute HAVE_STRUCT_RANDOM_DATA.
20584         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20585         random_data.
20586         * modules/stdlib (Makefile.am): Substitute
20587         HAVE_STRUCT_RANDOM_DATA.
20588
20589 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20590
20591         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20592         * doc/gnulib-intro.texi (Copyright): Likewise.
20593
20594 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20595
20596         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20597         findings.
20598
20599 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20600             Bruno Haible  <bruno@clisp.org>
20601
20602         * lib/unistd.in.h: Include <winsock2.h>.
20603         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20604         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20605         Provide dummy declarations.
20606         (gethostname): Override.
20607         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20608         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20609         gl_PREREQ_SYS_H_WINSOCK2.
20610         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20611         * doc/posix-functions/gethostname.texi: More details.
20612
20613 2008-10-25  Bruno Haible  <bruno@clisp.org>
20614
20615         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20616         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20617         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20618
20619         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20620         here ...
20621         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20622         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20623         gl_UNISTD_H_DEFAULTS.
20624
20625 2008-10-25  Eric Blake  <ebb9@byu.net>
20626
20627         signbit: avoid spurious compiler failure
20628         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20629         declarations inside function.
20630
20631 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20632             Bruno Haible  <bruno@clisp.org>
20633
20634         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20635         * modules/random_r (Depends-on): Add stdint.
20636
20637 2008-10-24  Bruno Haible  <bruno@clisp.org>
20638
20639         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
20640         Eggert.
20641         * modules/strerror (License): Likewise.
20642
20643 2008-10-24  Jim Meyering  <meyering@redhat.com>
20644
20645         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
20646         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
20647
20648 2008-10-24  Eric Blake  <ebb9@byu.net>
20649
20650         getgroups: fix compilation when getgroups is available
20651         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
20652         but with <config.h> override of getgroups disabled.
20653
20654 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20655
20656         * doc/gnulib.texi (Header files): Add note about C++ problems.
20657         Explained by Bruno Haible <bruno@clisp.org>.
20658
20659 2008-10-23  Bruno Haible  <bruno@clisp.org>
20660
20661         Define a dummy SA_NODEFER macro on Interix.
20662         * lib/signal.in.h (SA_NODEFER): Define fallback.
20663         Reported by Aleksey Cheusov <cheusov@tut.by> via
20664         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
20665
20666 2008-10-23  Bruno Haible  <bruno@clisp.org>
20667
20668         * modules/freadahead (License): Change to LGPLv2+.
20669         Suggested by Simon Josefsson.
20670
20671 2008-10-23  Jim Meyering  <meyering@redhat.com>
20672
20673         random_r: new module
20674         * modules/random_r: New file.
20675         * m4/random_r.m4: New file.
20676         * lib/random_r.c: New file, from glibc.
20677         * modules/random_r-tests: New file.
20678         * tests/test-random_r.c: New file.
20679         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
20680          Declare.
20681         (RAND_MAX): Define.
20682         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
20683         * modules/stdlib: Substitute them, too.
20684         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
20685         * doc/glibc-functions/initstate_r.texi: Mention the new module.
20686         * doc/glibc-functions/random_r.texi: Likewise.
20687         * doc/glibc-functions/setstate_r.texi: Likewise.
20688         * doc/glibc-functions/srandom_r.texi: Likewise.
20689         * config/srclist.txt: Mention it.
20690
20691 2008-10-23  David Lutterkort  <lutter@redhat.com>
20692
20693         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
20694         link requirement
20695
20696 2008-10-23  Jim Meyering  <meyering@redhat.com>
20697
20698         selinux-h: mark parameters of stub functions as intentionally unused
20699         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
20700         * lib/se-context.in.h: Likewise.
20701
20702 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20703
20704         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
20705
20706 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20707
20708         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
20709
20710 2008-10-22  Eric Blake  <ebb9@byu.net>
20711
20712         glthread/thread: avoid compiler warning
20713         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
20714         Add unreachable abort to silence compiler.
20715
20716 2008-10-22  Eric Blake  <ebb9@byu.net>
20717
20718         netdb: also supply struct addrinfo for cygwin 1.5.x
20719         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
20720         older cygwin.
20721         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
20722         cygwin.
20723         * doc/posix-headers/netdb.texi (netdb.h): Document this.
20724
20725 2008-10-22  Bruno Haible  <bruno@clisp.org>
20726
20727         * users.txt: Update entry about pspp.
20728
20729 2008-10-21  Bruno Haible  <bruno@clisp.org>
20730
20731         Simplification.
20732         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
20733         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
20734
20735         Simplification.
20736         * lib/ioctl.c (ioctl): Don't undefine.
20737         * lib/socket.c (socket): Don't undefine.
20738
20739         Remove unused module indicator macros.
20740         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
20741         GNULIB_$1 as a C macro.
20742
20743         * doc/posix-functions/close.texi: Undo last change.
20744         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
20745         Windows platforms.
20746
20747 2008-10-21  Bruno Haible  <bruno@clisp.org>
20748
20749         Add gethostname() declaration to <unistd.h>.
20750         * lib/unistd.in.h (gethostname): New declaration.
20751         * lib/gethostname.c: Include <unistd.h>.
20752         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
20753         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
20754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
20755         and HAVE_GETHOSTNAME.
20756         * modules/gethostname (Depends-on): Add unistd.
20757         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20758         (Include): Specify <unistd.h>.
20759         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
20760         HAVE_GETHOSTNAME.
20761         * tests/test-gethostname.c: Include <unistd.h> first.
20762
20763 2008-10-21  Bruno Haible  <bruno@clisp.org>
20764
20765         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
20766         * modules/select-tests (Depends-on): Likewise.
20767         Reported by Simon Josefsson.
20768
20769 2008-10-21  Simon Josefsson  <simon@josefsson.org>
20770
20771         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
20772         * lib/accept.c: New file, based on winsock.c.
20773         * lib/bind.c: New file, based on winsock.c.
20774         * lib/connect.c: New file, based on winsock.c.
20775         * lib/getpeername.c: New file, based on winsock.c.
20776         * lib/getsockname.c: New file, based on winsock.c.
20777         * lib/getsockopt.c: New file, based on winsock.c.
20778         * lib/ioctl.c: New file, based on winsock.c.
20779         * lib/listen.c: New file, based on winsock.c.
20780         * lib/recv.c: New file, based on winsock.c.
20781         * lib/recvfrom.c: New file, based on winsock.c.
20782         * lib/send.c: New file, based on winsock.c.
20783         * lib/sendto.c: New file, based on winsock.c.
20784         * lib/setsockopt.c: New file, based on winsock.c.
20785         * lib/shutdown.c: New file, based on winsock.c.
20786         * lib/socket.c: New file, based on winsock.c.
20787         * lib/w32sock.h: New file, based on winsock.c.
20788         * lib/winsock.c: Remove file.
20789         * modules/accept: Likewise.
20790         * modules/bind: Likewise.
20791         * modules/connect: Likewise.
20792         * modules/getpeername: Likewise.
20793         * modules/getsockname: Likewise.
20794         * modules/getsockopt: Likewise.
20795         * modules/ioctl: Likewise.
20796         * modules/listen: Likewise.
20797         * modules/recv: Likewise.
20798         * modules/recvfrom: Likewise.
20799         * modules/send: Likewise.
20800         * modules/sendto: Likewise.
20801         * modules/setsockopt: Likewise.
20802         * modules/shutdown: Likewise.
20803         * modules/socket: Use socket.c instead of winsock.c.
20804         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
20805         * doc/posix-functions/accept.texi: Doc fix.
20806         * doc/posix-functions/bind.texi: Doc fix.
20807         * doc/posix-functions/close.texi: Doc fix.
20808         * doc/posix-functions/connect.texi: Doc fix.
20809         * doc/posix-functions/getpeername.texi: Doc fix.
20810         * doc/posix-functions/getsockname.texi: Doc fix.
20811         * doc/posix-functions/getsockopt.texi: Doc fix.
20812         * doc/posix-functions/ioctl.texi: Doc fix.
20813         * doc/posix-functions/listen.texi: Doc fix.
20814         * doc/posix-functions/recv.texi: Doc fix.
20815         * doc/posix-functions/recvfrom.texi: Doc fix.
20816         * doc/posix-functions/send.texi: Doc fix.
20817         * doc/posix-functions/sendto.texi: Doc fix.
20818         * doc/posix-functions/setsockopt.texi: Doc fix.
20819         * doc/posix-functions/shutdown.texi: Doc fix.
20820         * doc/posix-functions/socket.texi: Doc fix.
20821
20822 2008-10-20  Bruno Haible  <bruno@clisp.org>
20823
20824         Take into account the role of SIGABRT_COMPAT on Windows 2008.
20825         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
20826         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
20827         as an alias for SIGABRT.
20828         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
20829         (sigaction): Map it to SIGABRT.
20830         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
20831
20832 2008-10-20  Bruno Haible  <bruno@clisp.org>
20833
20834         * lib/fts.c: Don't include lstat.h.
20835         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
20836
20837         Move the lstat() declaration to <sys/stat.h>.
20838         * lib/lstat.h: Remove file.
20839         * lib/sys_stat.in.h: Add special invocation convention.
20840         (lstat): New declaration.
20841         * lib/lstat.c (orig_lstat): New function.
20842         (rpl_lstat): Use orig_lstat instead of lstat.
20843         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
20844         AC_C_INLINE. Set REPLACE_LSTAT.
20845         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
20846         and REPLACE_LSTAT.
20847         * modules/lstat (Files): Remove lib/lstat.h.
20848         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
20849         (Include): Specify <sys/stat.h> instead of lstat.h.
20850         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
20851         REPLACE_LSTAT.
20852         * NEWS: Mention the change.
20853
20854 2008-10-20  Bruno Haible  <bruno@clisp.org>
20855
20856         * modules/posix_spawn-tests: New file.
20857         * tests/test-posix_spawn3.c: New file.
20858
20859 2008-10-20  Bruno Haible  <bruno@clisp.org>
20860
20861         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
20862         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20863         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
20864         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20865         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
20866
20867 2008-10-20  Bruno Haible  <bruno@clisp.org>
20868
20869         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
20870         of posix_spawn on AIX 5.3.
20871
20872 2008-10-20  Bruno Haible  <bruno@clisp.org>
20873
20874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
20875
20876 2008-10-20  Bruno Haible  <bruno@clisp.org>
20877
20878         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
20879         of AC_LANG_PROGRAM.
20880
20881 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20882
20883         * lib/netdb.in.h: Don't define GNU specific constants until they
20884         are supported or needed.  Reported by Bruno Haible
20885         <bruno@clisp.org>.
20886
20887 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20888
20889         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
20890
20891 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20892
20893         * lib/getaddrinfo.h: Remove file.
20894         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
20895         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
20896         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
20897         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
20898         * modules/netdb: Substitute GNULIB_GETADDRINFO.
20899         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
20900         * tests/test-getaddrinfo.c: Likewise.
20901         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
20902         * NEWS: Mention change.
20903
20904 2008-10-19  Bruno Haible  <bruno@clisp.org>
20905
20906         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
20907
20908 2008-10-19  Bruno Haible  <bruno@clisp.org>
20909
20910         * lib/wait-process.c: Include simply <sys/wait.h>.
20911         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
20912         WIFSTOPPED): Remove fallback definitions.
20913         * modules/wait-process (Depends-on): Add sys_wait.
20914
20915         New module 'sys_wait'.
20916         * modules/sys_wait: New file.
20917         * lib/sys_wait.in.h: New file, partially copied from
20918         lib/wait-process.c.
20919         * m4/sys_wait_h.m4: New file.
20920         * doc/posix-headers/sys_wait.texi: Mention the new module.
20921
20922 2008-10-19  Bruno Haible  <bruno@clisp.org>
20923
20924         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
20925
20926 2008-10-19  Bruno Haible  <bruno@clisp.org>
20927
20928         Assume that waitpid() fills an 'int' status, not a 'union wait'.
20929         * lib/wait-process.c (WAIT_T): Remove type.
20930         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
20931         (wait_subprocess): Update.
20932
20933 2008-10-19  Bruno Haible  <bruno@clisp.org>
20934
20935         New module 'atoll'.
20936         * modules/atoll: New file.
20937         * lib/stdlib.in.h (atoll): New declaration.
20938         * lib/atoll.c: New file, from glibc with modifications.
20939         * m4/atoll.m4: New file.
20940         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
20941         HAVE_ATOLL.
20942         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
20943         * doc/posix-functions/atoll.texi: Mention the new module.
20944
20945 2008-10-19  Bruno Haible  <bruno@clisp.org>
20946
20947         Add strtoull() declaration to <stdlib.h>.
20948         * lib/stdlib.in.h (strtoull): New declaration.
20949         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
20950         Set HAVE_STRTOULL.
20951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
20952         HAVE_STRTOULL.
20953         * modules/strtoull (Depends-on): Add stdlib.
20954         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20955         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
20956         HAVE_STRTOULL.
20957
20958 2008-10-19  Bruno Haible  <bruno@clisp.org>
20959
20960         Add strtoll() declaration to <stdlib.h>.
20961         * lib/stdlib.in.h (strtoll): New declaration.
20962         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
20963         Set HAVE_STRTOLL.
20964         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
20965         HAVE_STRTOLL.
20966         * modules/strtoll (Depends-on): Add stdlib.
20967         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20968         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
20969
20970 2008-10-19  Bruno Haible  <bruno@clisp.org>
20971
20972         * modules/bcopy (Depends-on): Add strings.
20973         (Include): Specify <strings.h>.
20974
20975 2008-10-19  Bruno Haible  <bruno@clisp.org>
20976
20977         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
20978
20979 2008-10-19  Bruno Haible  <bruno@clisp.org>
20980
20981         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
20982         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
20983         mingw.
20984
20985 2008-10-19  Bruno Haible  <bruno@clisp.org>
20986
20987         * lib/atanl.c: Don't include isnanl.h.
20988         * lib/cosl.c: Likewise.
20989         * lib/ldexpl.c: Likewise.
20990         * lib/logl.c: Likewise.
20991         * lib/sinl.c: Likewise.
20992         * lib/sqrtl.c: Likewise.
20993         * lib/tanl.c: Likewise.
20994
20995         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
20996         * lib/isnanf.h: Remove file.
20997         * lib/isnand.h: Remove file.
20998         * lib/isnanl.h: Remove file.
20999         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21000         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21001         macros.
21002         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21003         HAVE_ISNANF, don't define it as a C macro.
21004         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21005         HAVE_ISNAND, don't define it as a C macro.
21006         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21007         HAVE_ISNANL, don't define it as a C macro.
21008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21009         HAVE_ISNAN[FDL].
21010         * modules/isnanf (Files): Remove lib/isnanf.h.
21011         (Depends-on): Add math.
21012         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21013         (Include): Specify <math.h> instead of isnanf.h.
21014         * modules/isnand (Files): Remove lib/isnand.h.
21015         (Depends-on): Add math.
21016         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21017         (Include): Specify <math.h> instead of isnand.h.
21018         * modules/isnanl (Files): Remove lib/isnanl.h.
21019         (Depends-on): Add math.
21020         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21021         (Include): Specify <math.h> instead of isnanl.h.
21022         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21023         HAVE_ISNAN[FDL].
21024         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21025         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21026         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21027         * NEWS: Mention the change.
21028
21029 2008-10-18  Bruno Haible  <bruno@clisp.org>
21030
21031         Add getusershell(), setusershell(), endusershell() declarations to
21032         <unistd.h>.
21033         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21034         declarations.
21035         * lib/getusershell.c: Include unistd.h.
21036         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21037         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21038         HAVE_GETUSERSHELL.
21039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21040         and HAVE_GETUSERSHELL.
21041         * modules/getusershell (Depends-on): Add unistd, extensions.
21042         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21043         (Include): Specify <unistd.h>.
21044         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21045         HAVE_GETUSERSHELL.
21046
21047 2008-10-18  Bruno Haible  <bruno@clisp.org>
21048
21049         Add a getloadavg() declaration to <stdlib.h>.
21050         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21051         getloadavg declaration.
21052         (getloadavg): New declaration.
21053         * lib/getloadavg.c: Include <stdlib.h> first.
21054         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21055         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21056         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21057         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21058         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21059         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21060         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21061         (Include): Specify <stdlib.h>.
21062         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21063         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21064
21065 2008-10-18  Bruno Haible  <bruno@clisp.org>
21066
21067         * lib/dirchownmod.c: Don't include lchmod.h.
21068
21069         Move the lchmod() declaration to <sys/stat.h>.
21070         * lib/lchmod.h: Remove file.
21071         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21072         (lchmod): New declaration, moved here from lib/lchown.h.
21073         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21074         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21075         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21076         and HAVE_LCHMOD.
21077         * modules/lchmod (Files): Remove lib/lchmod.h.
21078         (Depends-on): Add sys_stat, extensions.
21079         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21080         (Include): Specify <sys/stat.h> instead of lchmod.h.
21081         * modules/sys_stat (Depends-on): Add link-warning.
21082         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21083         definition of GL_LINK_WARNING.
21084         * NEWS: Mention the change.
21085
21086 2008-10-18  Bruno Haible  <bruno@clisp.org>
21087
21088         * lib/fchdir.c: Don't include dirfd.h.
21089         * lib/fts.c: Likewise.
21090         * lib/getcwd.c: Likewise.
21091         * lib/glob.c: Likewise.
21092
21093         Move the dirfd() declaration to <dirent.h>.
21094         * lib/dirfd.h: Remove file.
21095         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21096         (dirfd): New declaration.
21097         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21098         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21099         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21100         HAVE_DECL_DIRFD.
21101         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21102         HAVE_DECL_DIRFD.
21103         * modules/dirfd (Files): Remove lib/dirfd.h.
21104         (Depends-on): Add dirent, extensions.
21105         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21106         (Include): Specify <dirent.h> instead of dirfd.h.
21107         * modules/dirent (Depends-on): Add link-warning.
21108         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21109         definition of GL_LINK_WARNING.
21110         * NEWS: Mention the change.
21111
21112 2008-10-18  Bruno Haible  <bruno@clisp.org>
21113
21114         Move the euidaccess() declaration to <unistd.h>.
21115         * lib/euidaccess.h: Remove file.
21116         * lib/unistd.in.h (euidaccess): New declaration.
21117         * lib/euidaccess.c: Don't include euidaccess.h.
21118         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21119         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21121         and HAVE_EUIDACCESS.
21122         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21123         (Depends-on): Add unistd.
21124         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21125         (Include): Specify <unistd.h> instead of euidaccess.h.
21126         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21127         HAVE_EUIDACCESS.
21128         * NEWS: Mention the change.
21129
21130 2008-10-18  Bruno Haible  <bruno@clisp.org>
21131
21132         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21133
21134         Move the getdomainname() declaration to <unistd.h>.
21135         * lib/getdomainname.h: Remove file.
21136         * lib/unistd.in.h (getdomainname): New declaration.
21137         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21138         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21139         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21140         HAVE_GETDOMAINNAME.
21141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21142         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21143         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21144         (Depends-on): Add unistd, extensions.
21145         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21146         (Includes): Specify <unistd.h> instead of getdomainname.h.
21147         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21148         HAVE_GETDOMAINNAME.
21149         * NEWS: Mention the change.
21150
21151 2008-10-18  Bruno Haible  <bruno@clisp.org>
21152
21153         * modules/dirent: New file.
21154         * m4/dirent_h.m4: New file.
21155         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21156         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
21157         * modules/fchdir (Files): Remove lib/dirent.in.h.
21158         (Depends-on): Add dirent.
21159         (Makefile.am): Move rules to modules/dirent.
21160         * doc/posix-headers/dirent.texi: Mention the new module.
21161
21162 2008-10-18  Bruno Haible  <bruno@clisp.org>
21163
21164         Avoid -Wunused-parameter warnings in public gnulib header files.
21165         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
21166         macro.
21167         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
21168
21169 2008-10-18  Bruno Haible  <bruno@clisp.org>
21170
21171         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
21172         * doc/glibc-functions/error.texi: Mention the module 'error'.
21173         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
21174         * doc/glibc-functions/getdomainname.texi: Mention the module
21175         'getdomainname'.
21176         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
21177         * doc/glibc-functions/getpagesize.texi: Mention the module
21178         'getpagesize'.
21179         * doc/glibc-functions/getusershell.texi: Mention the module
21180         'getusershell'.
21181         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
21182         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
21183         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
21184         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
21185         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
21186         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21187         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21188         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21189         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21190         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21191         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21192         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21193         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21194         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21195
21196 2008-10-17  Bruno Haible  <bruno@clisp.org>
21197
21198         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21199         HP-UX and IRIX, use -0.0L.
21200         * tests/test-ceill.c (minus_zero): Likewise.
21201         * tests/test-floorl.c (minus_zero): Likewise.
21202         * tests/test-frexpl.c (minus_zero): Likewise.
21203         * tests/test-isnan.c (minus_zerol): Likewise.
21204         * tests/test-isnanl.h (minus_zero): Likewise.
21205         * tests/test-ldexpl.c (minus_zero): Likewise.
21206         * tests/test-roundl.c (minus_zero): Likewise.
21207         * tests/test-signbit.c (minus_zerol): Likewise.
21208         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21209         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21210         * tests/test-truncl.c (minus_zero): Likewise.
21211         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21212         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21213         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21214         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21215
21216 2008-10-17  Bruno Haible  <bruno@clisp.org>
21217
21218         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21219         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21220         that it gets activated only for gcc >= 3.0.
21221         * lib/dirent.in.h: Likewise.
21222         * lib/errno.in.h: Likewise.
21223         * lib/fcntl.in.h: Likewise.
21224         * lib/float.in.h: Likewise.
21225         * lib/iconv.in.h: Likewise.
21226         * lib/inttypes.in.h: Likewise.
21227         * lib/locale.in.h: Likewise.
21228         * lib/math.in.h: Likewise.
21229         * lib/netdb.in.h: Likewise.
21230         * lib/netinet_in.in.h: Likewise.
21231         * lib/search.in.h: Likewise.
21232         * lib/signal.in.h: Likewise.
21233         * lib/spawn.in.h: Likewise.
21234         * lib/stdarg.in.h: Likewise.
21235         * lib/stdint.in.h: Likewise.
21236         * lib/stdio.in.h: Likewise.
21237         * lib/stdlib.in.h: Likewise.
21238         * lib/string.in.h: Likewise.
21239         * lib/strings.in.h: Likewise.
21240         * lib/sys_file.in.h: Likewise.
21241         * lib/sys_ioctl.in.h: Likewise.
21242         * lib/sys_select.in.h: Likewise.
21243         * lib/sys_socket.in.h: Likewise.
21244         * lib/sys_stat.in.h: Likewise.
21245         * lib/sys_time.in.h: Likewise.
21246         * lib/sysexits.in.h: Likewise.
21247         * lib/time.in.h: Likewise.
21248         * lib/unistd.in.h: Likewise.
21249         * lib/wchar.in.h: Likewise.
21250         * lib/wctype.in.h: Likewise.
21251         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21252
21253 2008-10-17  Jim Meyering  <meyering@redhat.com>
21254
21255         ignore-value: don't depend on inline module
21256         * modules/ignore-value (Depends-on): Remove 'inline'.
21257         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21258         Suggestion from Bruno Haible.
21259
21260 2008-10-17  Bruno Haible  <bruno@clisp.org>
21261
21262         New implementation of condition variables for Win32.
21263         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21264         (gl_linked_waitqueue_t): New type.
21265         (gl_cond_t): Use it.
21266         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21267         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21268         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21269         (glthread_cond_init_func, glthread_cond_wait_func,
21270         glthread_cond_timedwait_func, glthread_cond_signal_func,
21271         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21272         Reimplemented on the basis of gl_linked_waitqueue_t.
21273         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21274         gl_waitqueue_t.
21275         (gl_rwlock_t): Update.
21276         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21277
21278 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21279
21280         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21281         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21282
21283 2008-10-17  Jim Meyering  <meyering@redhat.com>
21284
21285         ignore-value: new module
21286         * modules/ignore-value: New file.
21287         * lib/ignore-value.h: New file.
21288         * MODULES.html.sh (Compiler warning management): New section,
21289         just for this module.  More to come.
21290
21291 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21292
21293         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21294         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21295         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21296
21297 2008-10-16  Jim Meyering  <meyering@redhat.com>
21298
21299         openat-die.c: avoid 'no previous prototype' warning
21300         * lib/openat-die.c: Include "openat.h".
21301         Reported by Reuben Thomas <rrt@sc3d.org>.
21302
21303 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21304
21305         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21306         * lib/netdb.in.h: Fix typo.
21307         Reported by Bruno Haible  <bruno@clisp.org>
21308
21309         * lib/netdb.in.h: Include sys/socket.h for platforms without
21310         netdb.h, to get structures like hostent on MinGW.
21311         * modules/netdb (Depends-on): Add sys_socket.
21312
21313 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21314
21315         * modules/netdb, modules/netdb-tests: New file.
21316         * m4/netdb_h.m4: New file.
21317         * lib/netdb.in.h: Add, currently just an empty file pending
21318         definitions.
21319         * tests/test-netdb.c: New file.
21320         * doc/posix-headers/netdb.texi: Mention that we replace it if
21321         needed.
21322         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21323         netdb.
21324
21325 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21326
21327         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21328         with code.
21329
21330 2008-10-13  Bruno Haible  <bruno@clisp.org>
21331
21332         * lib/glthread/cond.c (glthread_cond_wait_func,
21333         glthread_cond_timedwait_func): Add a comment.
21334
21335 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21336
21337         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21338         * tests/test-select.c: Likewise,
21339
21340 2008-10-13  Bruno Haible  <bruno@clisp.org>
21341
21342         * lib/glthread/cond.c (glthread_cond_wait_func,
21343         glthread_cond_timedwait_func): Fix variable name.
21344         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21345
21346 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21347
21348         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21349         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21350         struct sockaddr.sa_len.
21351         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21352
21353 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21354
21355         * build-aux/pmccabe2html: Add css and css_url parameters.
21356
21357 2008-10-12  Bruno Haible  <bruno@clisp.org>
21358
21359         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21360         calling aclx_get.
21361         Reported by Rainer Tammer <tammer@tammer.net>.
21362
21363 2008-10-12  Bruno Haible  <bruno@clisp.org>
21364
21365         Use msvcrt aware primitives for creation/termination of Win32 threads.
21366         * lib/glthread/thread.c: Include <process.h>.
21367         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21368         (wrapper_func): Update signature.
21369         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21370
21371 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21372             Bruno Haible  <bruno@clisp.org>
21373
21374         Provide a Win32 implementation of the 'cond' module.
21375         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21376         * lib/glthread/cond.c (glthread_cond_init_func,
21377         glthread_cond_wait_func, glthread_cond_timedwait_func,
21378         glthread_cond_signal_func, glthread_cond_broadcast_func,
21379         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21380         * modules/cond (Dependencies): Add gettimeofday.
21381
21382 2008-10-11  Bruno Haible  <bruno@clisp.org>
21383
21384         Make sleep work on older versions of mingw.
21385         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21386         only whether it exists.
21387         * doc/posix-functions/sleep.texi: Mention the problem with older
21388         versions of mingw.
21389
21390 2008-10-11  Bruno Haible  <bruno@clisp.org>
21391
21392         New module 'shutdown'.
21393         * modules/shutdown: New file.
21394         * lib/sys_socket.in.h (shutdown): New declaration.
21395         * lib/winsock.c (shutdown): New function.
21396         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21397         GNULIB_SHUTDOWN.
21398         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21399         * doc/posix-functions/shutdown.texi: Document the new module.
21400
21401 2008-10-11  Jim Meyering  <meyering@redhat.com>
21402
21403         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21404
21405 2008-10-11  Bruno Haible  <bruno@clisp.org>
21406
21407         New module 'fclose'.
21408         * modules/fclose: New file.
21409         * lib/stdio.in.h (fclose): New declaration.
21410         * lib/fclose.c: New file.
21411         * m4/fclose.m4: New file.
21412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21413         REPLACE_FCLOSE.
21414         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21415         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21416         REPLACE_FCLOSE.
21417         * modules/close (Depends-on): fclose.
21418         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21419
21420 2008-10-11  Bruno Haible  <bruno@clisp.org>
21421
21422         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21423         set errno and don't call _close.
21424
21425 2008-10-10  Bruno Haible  <bruno@clisp.org>
21426
21427         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21428         ACL, not afterwards. Fixes test failure on Cygwin.
21429
21430 2008-10-09  Ben Pfaff  <blp@gnu.org>
21431
21432         * build-aux/announce-gen: Fix gnulib version related part of usage
21433         message.  Die with a useful error message if no tarballs are
21434         found.
21435
21436 2008-10-10  Jim Meyering  <meyering@redhat.com>
21437
21438         bootstrap: use git's --depth=N option only if it's supported
21439         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21440         recognize the --depth option.  Reported by Pádraig Brady.
21441
21442 2008-10-09  Bruno Haible  <bruno@clisp.org>
21443
21444         New module 'ioctl'.
21445         * modules/ioctl: New file.
21446         * lib/sys_socket.in.h (ioctl): Remove declaration.
21447         * lib/winsock.c: Include <sys/ioctl.h>.
21448         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21449         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21450         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21451         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21452         * doc/posix-functions/ioctl.texi: Mention the new module.
21453
21454 2008-10-09  Bruno Haible  <bruno@clisp.org>
21455
21456         New module 'sys_ioctl'.
21457         * lib/sys_ioctl.in.h: New file.
21458         * m4/sys_ioctl_h.m4: New file.
21459         * modules/sys_ioctl: New file.
21460         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21461
21462 2008-10-09  Bruno Haible  <bruno@clisp.org>
21463
21464         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21465         * lib/winsock.c: Include <stdarg.h>.
21466         (rpl_ioctl): Change to second argument 'int' and then varargs.
21467
21468 2008-10-09  Bruno Haible  <bruno@clisp.org>
21469
21470         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21471         when the sys_socket module is present and the system has <winsock2.h>.
21472
21473 2008-10-09  Bruno Haible  <bruno@clisp.org>
21474
21475         * doc/posix-functions/close.texi: Mention module 'close' instead of
21476         module 'sys_socket'.
21477
21478 2008-10-09  Bruno Haible  <bruno@clisp.org>
21479
21480         * doc/glibc-headers/sys_ioctl.texi: New file.
21481         * doc/gnulib.texi: Include it.
21482
21483 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21484             Bruno Haible  <bruno@clisp.org>
21485
21486         Combine the two replacements of 'close'.
21487         * lib/sys_socket.in.h (close): Define to a reminder to include
21488         <unistd.h>.
21489         (_gl_close_fd_maybe_socket): New declaration.
21490         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21491         * lib/winsock.c (close): Remove undefinition.
21492         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21493         needed for the gnulib module 'close'.
21494         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21495         define to an error symbol or to a warning, if suitable.
21496         * lib/close.c: Include <sys/socket.h>.
21497         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21498         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21499         UNISTD_H_HAVE_WINSOCK2_H.
21500         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21502         UNISTD_H_HAVE_WINSOCK2_H.
21503         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21504         (configure.ac): Set a module indicator.
21505         (Makefile.am): Substitute GNULIB_CLOSE.
21506         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21507         * modules/poll-tests (Depends-on): Add close.
21508         * modules/select-tests (Depends-on): Likewise.
21509
21510 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21511             Bruno Haible  <bruno@clisp.org>
21512
21513         New module 'close'.
21514         * modules/close: New file.
21515         * lib/unistd.in.h (close): Move declaration out of the
21516         FCHDIR_REPLACEMENT scope.
21517         (_gl_unregister_fd): New declaration.
21518         * lib/close.c: New file.
21519         * lib/fchdir.c (rpl_close): Remove function.
21520         * m4/close.m4: New file.
21521         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21522         close.
21523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21524         REPLACE_CLOSE.
21525         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21526         REPLACE_CLOSE.
21527         * modules/fchdir (Depends-on): Add close.
21528
21529 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21530             Bruno Haible  <bruno@clisp.org>
21531
21532         * lib/fcntl.in.h (open): Simplify conditionals.
21533         (_gl_register_fd): New declaration.
21534         * lib/fchdir.c (rpl_open): Remove function.
21535         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21536         also.
21537         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21539         open.
21540
21541 2008-10-09  Jim Meyering  <meyering@redhat.com>
21542
21543         GNUmakefile: use the more name-space-friendly "_version"
21544         * top/GNUmakefile (_dummy): Update.
21545         (_version): Rename from "version".
21546
21547 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21548             Bruno Haible  <bruno@clisp.org>
21549
21550         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21551         rpl_close.
21552         (_gl_register_fd): New function, extracted from rpl_open.
21553         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21554         (rpl_open, rpl_opendir): Use _gl_register_fd.
21555
21556 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21557
21558         Fix organization of 'open' replacement.
21559         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21560         (gl_FUNC_OPEN): Use it.
21561         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21562
21563 2008-10-08  Bruno Haible  <bruno@clisp.org>
21564
21565         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21566
21567 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21568
21569         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21570         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21571         listen).
21572
21573 2008-10-08  Eric Blake  <ebb9@byu.net>
21574
21575         GNUmakefile: add 'make version' target
21576         * top/GNUmakefile (_curr-ver): Split version update rules...
21577         (version): ...into a target.
21578
21579 2008-10-07  Bruno Haible  <bruno@clisp.org>
21580
21581         Use a more portable replacement expression for -0.0L.
21582         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21583         instead of -0.0L. Fix m4 quotation.
21584
21585         * tests/test-signbit.c: Include <float.h>.
21586         (minus_zero): New variable.
21587         (test_signbitl): Use minus_zero instead of -zero.
21588         * modules/signbit-tests (Depends-on): Add float.
21589
21590         * tests/test-ceill.c: Include <float.h>.
21591         (zero): Remove variable.
21592         (minus_zero): New variable.
21593         (main): Use minus_zero instead of -zero.
21594         * modules/ceill-tests (Depends-on): Add float.
21595
21596         * tests/test-floorl.c: Include <float.h>.
21597         (zero): Remove variable.
21598         (minus_zero): New variable.
21599         (main): Use minus_zero instead of -zero.
21600         * modules/floorl-tests (Depends-on): Add float.
21601
21602         * tests/test-roundl.c: Include <float.h>.
21603         (zero): Remove variable.
21604         (minus_zero): New variable.
21605         (main): Use minus_zero instead of -zero.
21606         * modules/roundl-tests (Depends-on): Add float.
21607
21608         * tests/test-truncl.c: Include <float.h>.
21609         (zero): Remove variable.
21610         (minus_zero): New variable.
21611         (main): Use minus_zero instead of -zero.
21612         * modules/truncl-tests (Depends-on): Add float.
21613
21614         * tests/test-frexpl.c (zero): Remove variable.
21615         (minus_zero): New variable.
21616         (main): Use minus_zero instead of -zero.
21617         * modules/frexpl-tests (Depends-on): Add float.
21618
21619         * tests/test-isnan.c (zerol): Remove variable.
21620         (minus_zerol): New variable.
21621         (test_long_double): Use minus_zerol instead of -zerol.
21622         * modules/isnan-tests (Depends-on): Add float.
21623
21624         * tests/test-isnanl.h (zero): Remove variable.
21625         (minus_zero): New variable.
21626         (main): Use minus_zero instead of -zero.
21627         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21628         * modules/isnanl-tests (Depends-on): Add float.
21629
21630         * tests/test-ldexpl.c (zero): Remove variable.
21631         (minus_zero): New variable.
21632         (main): Use minus_zero instead of -zero.
21633         * modules/ldexpl-tests (Depends-on): Add float.
21634
21635         * tests/test-snprintf-posix.h (zerol): Remove variable.
21636         (minus_zerol): New variable.
21637         (test_function): Use minus_zerol instead of -zerol.
21638         * modules/snprintf-posix-tests (Depends-on): Add float.
21639         * modules/vsnprintf-posix-tests (Depends-on): Add float.
21640
21641         * tests/test-sprintf-posix.h (zerol): Remove variable.
21642         (minus_zerol): New variable.
21643         (test_function): Use minus_zerol instead of -zerol.
21644         * modules/sprintf-posix-tests (Depends-on): Add float.
21645         * modules/vsprintf-posix-tests (Depends-on): Add float.
21646
21647         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
21648         (minus_zerol): New variable.
21649         (test_function): Use minus_zerol instead of -zerol.
21650         * modules/vasnprintf-posix-tests (Depends-on): Add float.
21651
21652         * tests/test-vasprintf-posix.c (zerol): Remove variable.
21653         (minus_zerol): New variable.
21654         (test_function): Use minus_zerol instead of -zerol.
21655         * modules/vasprintf-posix-tests (Depends-on): Add float.
21656
21657 2008-10-07  Simon Josefsson  <simon@josefsson.org>
21658
21659         * MODULES.html.sh (Support for building documentation): Mention
21660         pmccabe2html.  Sort entries.
21661
21662         Add pmccabe2html module, from gnupdf.
21663         * build-aux/pmccabe.css: New file.
21664         * build-aux/pmccabe2html: New file.
21665         * m4/pmccabe2html.m4: New file.
21666         * modules/pmccabe2html: New file.
21667
21668 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
21669
21670         flock: new module
21671         * MODULES.html.sh: Add to list of modules.
21672         * lib/flock.c: flock implementation for Windows and Unix systems
21673         which have fcntl.
21674         * doc/glibc-functions/flock.texi: Update documentation.
21675         * lib/sys_file.in.h: <sys/file.h> header file.
21676         * m4/flock.m4: M4 macros.
21677         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
21678         * modules/flock: flock module.
21679         * modules/flock-tests: flock tests module.
21680         * modules/sys_file: sys/file.h module.
21681         * tests/test-flock.c: test suite for flock.
21682
21683 2008-10-06  Jim Meyering  <meyering@redhat.com>
21684
21685         bootstrap: check for LT_INIT more portably still ;-)
21686         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
21687         Spotted by Bruno Haible.
21688
21689 2008-10-06  Eric Blake  <ebb9@byu.net>
21690
21691         test-signbit: avoid tripping Irix cc bug on -0.0L
21692         * tests/test-signbit.c (minus_zerol): Delete, and replace with
21693         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
21694         entire testsuite consistent and avoids an Irix 6.2 bug.
21695
21696 2008-10-05  Bruno Haible  <bruno@clisp.org>
21697             Jim Meyering  <jim@meyering.net>
21698
21699         Add an option for ignoring EPIPE during close_stdout.
21700         * lib/closeout.h: Include <stdbool.h>.
21701         (close_stdout_set_ignore_EPIPE): New declaration.
21702         * lib/closeout.c: Include <stdbool.h>.
21703         (ignore_EPIPE): New variable.
21704         (close_stdout_set_ignore_EPIPE): New function.
21705         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
21706         * lib/close-stream.c (close_stream): Mention the possible EPIPE
21707         failure.
21708         * modules/closeout (Depends-on): Add stdbool.
21709
21710 2008-10-05  Bruno Haible  <bruno@clisp.org>
21711
21712         * modules/accept: New file.
21713         * modules/bind: New file.
21714         * modules/connect: New file.
21715         * modules/getpeername: New file.
21716         * modules/getsockname: New file.
21717         * modules/getsockopt: New file.
21718         * modules/listen: New file.
21719         * modules/recv: New file.
21720         * modules/recvfrom: New file.
21721         * modules/send: New file.
21722         * modules/sendto: New file.
21723         * modules/setsockopt: New file.
21724         * modules/socket: New file.
21725         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
21726         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21727         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
21728         the particular module is requested. Add a link warning when the
21729         particular module is not requested.
21730         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
21731         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
21732         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
21733         the particular module is requested.
21734         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
21735         gl_SYS_SOCKET_H_DEFAULTS): New macros.
21736         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
21737         * modules/sys_socket (Depends-on): Add link-warning.
21738         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
21739         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
21740         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
21741         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
21742         GL_LINK_WARNING.
21743         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
21744         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
21745         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
21746         * doc/posix-functions/getpeername.texi: Mention the new module
21747         'getpeername'.
21748         * doc/posix-functions/getsockname.texi: Mention the new module
21749         'getsockname'.
21750         * doc/posix-functions/getsockopt.texi: Mention the new module
21751         'getsockopt'.
21752         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
21753         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
21754         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
21755         * doc/posix-functions/send.texi: Mention the new module 'send'.
21756         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
21757         * doc/posix-functions/setsockopt.texi: Mention the new module
21758         'setsockopt'.
21759         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
21760         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
21761         listen, connect, accept.
21762         * modules/select-tests (Depends-on): Likewise.
21763
21764 2008-10-05  Bruno Haible  <bruno@clisp.org>
21765
21766         * lib/winsock.c (strerror): Remove unused #undef.
21767         (rpl_close): Remove unused local variable.
21768
21769         * modules/sys_socket (Depends-on); Add errno.
21770
21771 2008-10-05  Bruno Haible  <bruno@clisp.org>
21772
21773         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
21774         (select): Add a link warning when the 'select' module is not used.
21775         * modules/sys_select (Depends-on): Add link-warning.
21776         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
21777         Suggested by Paolo Bonzini.
21778
21779 2008-10-05  Jim Meyering  <meyering@redhat.com>
21780
21781         bootstrap: check for LT_INIT more portably
21782         * build-aux/bootstrap: Avoid using grep -E, since it's not
21783         portable enough.  Suggestion from Bruno Haible.
21784
21785 2008-10-05  Bruno Haible  <bruno@clisp.org>
21786
21787         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
21788         as being fixed by gnulib.
21789
21790 2008-10-05  Bruno Haible  <bruno@clisp.org>
21791
21792         * modules/select-tests: New file, mostly copied from
21793         modules/sys_select-tests.
21794         * tests/test-select.c: New file, mostly copied from
21795         tests/test-sys_select.c.
21796         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
21797         * modules/sys_select-tests (Depends-on): Remove all dependencies.
21798         (Makefile.am): Remove test_sys_select_LDADD.
21799
21800         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
21801         to an undefined symbol, for an error message.
21802         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
21803         (gl_SYS_SELECT_H_DEFAULTS): New macro.
21804         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
21805         winsock-select.c here.
21806         * modules/sys_select (Files): Remove lib/winsock-select.c.
21807         (Depends-on): Remove alloca.
21808         (Makefile.am): Substitute GNULIB_SELECT.
21809         * modules/select: New file.
21810         * doc/posix-functions/select.texi: Update.
21811
21812 2008-10-05  Bruno Haible  <bruno@clisp.org>
21813
21814         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
21815         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
21816         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
21817         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
21818         getdtablesize.
21819         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21820         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21821
21822 2008-10-05  Bruno Haible  <bruno@clisp.org>
21823
21824         * modules/getdtablesize-tests: New file.
21825         * tests/test-getdtablesize.c: New file.
21826
21827         New module 'getdtablesize'.
21828         * lib/unistd.in.h (getdtablesize): New declaration.
21829         * lib/getdtablesize.c: New file.
21830         * m4/getdtablesize.m4: New file.
21831         * modules/getdtablesize: New file.
21832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21833         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
21834         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
21835         HAVE_GETDTABLESIZE.
21836         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
21837
21838 2008-10-05  Bruno Haible  <bruno@clisp.org>
21839
21840         * modules/sched (Makefile.am): Fix typo.
21841         Reported by Simon Josefsson.
21842
21843 2008-10-05  Jim Meyering  <meyering@redhat.com>
21844
21845         bootstrap: check for LT_INIT, too
21846         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
21847         are deprecated.  Suggestion from Ralf Wildenhues.
21848
21849 2008-10-05  Bruno Haible  <bruno@clisp.org>
21850
21851         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
21852         overriding them by ours.
21853         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
21854
21855 2008-10-05  Jim Meyering  <meyering@redhat.com>
21856
21857         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
21858         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
21859         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
21860
21861 2008-10-04  Bruno Haible  <bruno@clisp.org>
21862
21863         * modules/dup2 (License): Change to LGPLv2+.
21864         * modules/sleep (License): Likewise.
21865         * modules/perror (License): Likewise.
21866         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
21867         Blake.
21868         * modules/signal (License): Likewise.
21869         * modules/sigprocmask (License): Likewise.
21870         * modules/raise (License): Change to LGPLv2+, with approval by Jim
21871         Meyering.
21872
21873 2008-10-04  Bruno Haible  <bruno@clisp.org>
21874
21875         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
21876         Reported by Rainer Tammer <tammer@tammer.net>.
21877
21878 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
21879             Bruno Haible  <bruno@clisp.org>
21880
21881         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
21882         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
21883         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
21884
21885 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
21886
21887         filevercmp: new module
21888         * lib/filevercmp.h: New function filevercmp comparing version strings.
21889         * lib/filevercmp.c: Implementation of filevercmp function.
21890         * modules/filevercmp: Module metadata.
21891         * tests/test-filevercmp.c: Unit test for new module.
21892         * modules/filevercmp-tests: Unit test metadata.
21893         * MODULES.html.sh: Add filevercmp module.
21894
21895 2008-10-03  Bruno Haible  <bruno@clisp.org>
21896
21897         * lib/c-ctype.h: Add comment.
21898         Reported by Jim Meyering.
21899
21900 2008-10-02  Bruno Haible  <bruno@clisp.org>
21901
21902         * modules/posix_spawn-internal (Depends-on): Add 'open'.
21903
21904 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21905
21906         * build-aux/bootstrap: Allow renaming bootstrap, and change the
21907         name of bootstrap.conf accordingly.
21908
21909 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21910
21911         * build-aux/bootstrap: Install git-merge-changelog configuration
21912         items into .gitconfig if needed.
21913
21914 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21915
21916         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
21917         git repository, and initialize/update it accordingly.
21918
21919 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
21920
21921         * modules/fsync-tests: New file.
21922         * tests/test-fsync.c: New file.
21923
21924         New module 'fsync'.
21925         * lib/fsync.c: New file.
21926         * m4/fsync.m4: New file.
21927         * modules/fsync: New file.
21928         * lib/unistd.in.h (fsync): New declaration.
21929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
21930         GNULIB_FSYNC and HAVE_FSYNC.
21931         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
21932         * MODULES.html.sh (posix_functions): Add fsync.
21933         * doc/posix-functions/fsync.texi: Mention the new module.
21934
21935 2008-10-02  Jim Meyering  <meyering@redhat.com>
21936
21937         fts.c: sync with similar code from coreutils' remove.c
21938         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
21939         Guard also with "#if defined __linux__", since for now at least,
21940         this code is Linux-kernel-specific.
21941
21942 2008-10-02  Jim Meyering  <meyering@redhat.com>
21943
21944         fts: bug fixes
21945         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
21946         Include <sys/vfs.h>, not <sys/statfs.h>.
21947
21948         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
21949         Include <sys/vfs.h>, not <sys/statfs.h>.
21950
21951 2008-10-01  Bruno Haible  <bruno@clisp.org>
21952
21953         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
21954         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
21955         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
21956         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
21957         * doc/posix-functions/posix_spawnp.texi: Likewise.
21958         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
21959         whether posix_spawn actually works.
21960         * m4/pipe.m4 (gl_PIPE): Likewise.
21961         * modules/execute (Files): Add m4/posix_spawn.m4.
21962         * modules/pipe (Files): Add m4/posix_spawn.m4.
21963         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
21964
21965 2008-10-01  Jim Meyering  <meyering@redhat.com>
21966
21967         remove trailing spaces
21968         * NEWS: Likewise.
21969         * lib/poll.c (poll): Likewise.
21970         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
21971         * lib/winsock.c (rpl_close): Likewise.
21972         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
21973         * modules/yield: Likewise.
21974         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
21975         * tests/test-sys_select.c (connect_to_socket): Likewise.
21976
21977         fts.c: adjust a new interface to be more generally useful
21978         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
21979         (fts_build): Adjust caller.
21980
21981 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21982
21983         * modules/cond-tests: New file.
21984         * tests/test-cond.c: New file.
21985
21986 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21987             Bruno Haible  <bruno@clisp.org>
21988
21989         * modules/cond (Dependencies): Add errno, time.
21990         * lib/glthread/cond.h: Include <time.h>.
21991         (gl_cond_define, gl_cond_define_initialized): Use the same definition
21992         across platforms.
21993
21994 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21995             Bruno Haible  <bruno@clisp.org>
21996
21997         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
21998
21999 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22000             Bruno Haible  <bruno@clisp.org>
22001
22002         * modules/tls-tests (Depends-on): Add thread, yield.
22003         (configure.ac): Remove all checks.
22004         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22005         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22006         gl_thread_self): Remove definitions. Include glthread/thread.h and
22007         glthread/yield.h instead.
22008         (test_tls): Pass an additional NULL argument to gl_thread_join.
22009
22010 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22011             Bruno Haible  <bruno@clisp.org>
22012
22013         * modules/lock-tests (Depends-on): Add thread, yield.
22014         (configure.ac): Remove all checks.
22015         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22016         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22017         gl_thread_self): Remove definitions. Include glthread/thread.h and
22018         glthread/yield.h instead.
22019         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22020         additional NULL argument to gl_thread_join.
22021
22022 2008-09-30  Bruno Haible  <bruno@clisp.org>
22023
22024         Fix the Win32 implementation of the 'thread' module.
22025         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22026         pointer type.
22027         (gl_thread_self): Invoke gl_thread_self_func.
22028         (gl_thread_self_func): New declaration.
22029         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22030         (do_init_self_key, init_self_key): New functions.
22031         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22032         Remove some fields.
22033         (running_threads, running_lock): Remove variables.
22034         (get_current_thread_handle): New function.
22035         (gl_thread_self_func, wrapper_func, glthread_create_func,
22036         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22037         simplified.
22038
22039 2008-09-30  Bruno Haible  <bruno@clisp.org>
22040
22041         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22042         files.
22043
22044 2008-09-30  Jim Meyering  <meyering@redhat.com>
22045
22046         fts.m4: correct the test for statfs.f_type
22047         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22048         when checking for statfs.f_type.
22049
22050 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22051
22052         tests: avoid some compiler warnings
22053         * tests/test-memchr.c (main): Pass NULL indirectly.
22054         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22055
22056 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
22057
22058         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22059         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22060         exactly specified dayshifts.
22061         (dayshift): New rule.
22062         (rel): Add dayshift.
22063         (relative_time_table) [tomorrow, yesterday, today, now]:
22064         Use tDAY_SHIFT in place of tDAY_UNIT.
22065         * tests/test-getdate.c: Add tests for now-disallowed countable
22066         dayshifts, e.g., "4 yesterday ago".
22067
22068 2008-09-29  Bruno Haible  <bruno@clisp.org>
22069
22070         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22071         * tests/test-posix_spawn1.in.sh: Renamed from
22072         tests/test-posix_spawn.in.sh.
22073         * tests/test-posix_spawn2.c: New file.
22074         * tests/test-posix_spawn2.in.sh: New file.
22075         * modules/posix_spawnp-tests (Files): Update.
22076         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22077
22078 2008-09-29  Bruno Haible  <bruno@clisp.org>
22079
22080         Propagate effects of putenv/setenv/unsetenv to child processes.
22081         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22082         * lib/pipe.c (create_pipe): Likewise.
22083
22084 2008-09-29  Bruno Haible  <bruno@clisp.org>
22085
22086         Enable use of shell scripts as executables in mingw.
22087         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22088         run the program as a shell script.
22089         * lib/pipe.c (create_pipe): Likewise.
22090         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22091         resulting array.
22092
22093 2008-09-29  Eric Blake  <ebb9@byu.net>
22094
22095         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22096
22097 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22098
22099         * doc/posix-functions/accept.texi: Update mingw problems.
22100         * doc/posix-functions/bind.texi: Update mingw problems.
22101         * doc/posix-functions/close.texi: Update mingw problems.
22102         * doc/posix-functions/connect.texi: Update mingw problems.
22103         * doc/posix-functions/getpeername.texi: Update mingw problems.
22104         * doc/posix-functions/getsockname.texi: Update mingw problems.
22105         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22106         * doc/posix-functions/ioctl.texi: Update mingw problems.
22107         * doc/posix-functions/listen.texi: Update mingw problems.
22108         * doc/posix-functions/recv.texi: Update mingw problems.
22109         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22110         * doc/posix-functions/select.texi: Update mingw problems.
22111         * doc/posix-functions/send.texi: Update mingw problems.
22112         * doc/posix-functions/sendto.texi: Update mingw problems.
22113         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22114         * doc/posix-functions/socket.texi: Update mingw problems.
22115
22116 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22117             Bruno Haible  <bruno@clisp.org>
22118
22119         * lib/sys_select.in.h: Include sys/time.h.
22120         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22121         * modules/sys_select: Depend on sys_time.
22122         * tests/test-sys_select.c: Test that sys/select.h defines struct
22123         timeval fully.
22124
22125 2008-09-29  Bruno Haible  <bruno@clisp.org>
22126
22127         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22128         * lib/sys_select.in.h: Likewise.
22129
22130 2008-09-29  Bruno Haible  <bruno@clisp.org>
22131
22132         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22133
22134 2008-09-29  Bruno Haible  <bruno@clisp.org>
22135
22136         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22137         Set LIBSOCKET instead of augmenting LIBS.
22138         * modules/sockets (Link): New section.
22139         * modules/sockets-tests (test_sockets_LDADD): New variable.
22140         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22141         * modules/poll-tests (test_poll_LDADD): New variable.
22142         * NEWS: Document the change.
22143
22144 2008-09-29  Bruno Haible  <bruno@clisp.org>
22145
22146         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22147         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22148         ARPA_INET_H directly.
22149         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22150
22151 2008-09-28  Bruno Haible  <bruno@clisp.org>
22152
22153         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22154         from gl_HEADER_SYS_SOCKET.
22155         (gl_HEADER_SYS_SOCKET): Invoke it.
22156         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22157
22158 2008-09-28  Bruno Haible  <bruno@clisp.org>
22159
22160         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
22161         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
22162         Needed on OSF/1 4.0.
22163
22164 2008-09-28  Bruno Haible  <bruno@clisp.org>
22165
22166         Override open more carefully.
22167         * lib/open.c (orig_open): New function.
22168         (rpl_open): Use orig_open instead of open.
22169         * lib/fcntl.in.h: Add special invocation convention.
22170         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
22171         (gl_FUNC_OPEN): Invoke it.
22172
22173         Override freopen more carefully.
22174         * lib/freopen.c (orig_freopen): New function.
22175         (rpl_freopen): Use orig_freopen instead of freopen.
22176         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
22177         (gl_FUNC_FREOPEN): Invoke it.
22178
22179         Override fopen more carefully.
22180         * lib/fopen.c (orig_fopen): New function.
22181         (rpl_fopen): Use orig_fopen instead of fopen.
22182         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
22183         (gl_FUNC_FOPEN): Invoke it.
22184         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
22185
22186 2008-09-28  Bruno Haible  <bruno@clisp.org>
22187
22188         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22189         SIGPIPE.
22190
22191 2008-09-28  Bruno Haible  <bruno@clisp.org>
22192
22193         * tests/test-sigaction.c (handler, main): Disable the check whether
22194         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22195         glibc systems with LinuxThreads.
22196
22197 2008-09-28  Bruno Haible  <bruno@clisp.org>
22198
22199         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22200
22201         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22202         with AIX xlc.
22203         * lib/fcntl.in.h (open): Likewise.
22204         Reported by Rainer Tammer <tammer@tammer.net>.
22205
22206 2008-09-28  Bruno Haible  <bruno@clisp.org>
22207
22208         * modules/posix_spawnp-tests: New file.
22209         * tests/test-posix_spawn.c: New file.
22210         * tests/test-posix_spawn.in.sh: New file.
22211
22212         New module 'posix_spawnp'.
22213         * modules/posix_spawnp: New file.
22214         * lib/spawnp.c: New file, from GNU libc with modifications.
22215         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22216
22217         New module 'posix_spawn'.
22218         * modules/posix_spawn: New file.
22219         * lib/spawn.c: New file, from GNU libc with modifications.
22220         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22221
22222         New module 'posix_spawnattr_destroy'.
22223         * modules/posix_spawnattr_destroy: New file.
22224         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22225         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22226         module.
22227
22228         New module 'posix_spawnattr_setsigmask'.
22229         * modules/posix_spawnattr_setsigmask: New file.
22230         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22231         modifications.
22232         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22233         new module.
22234
22235         New module 'posix_spawnattr_getsigmask'.
22236         * modules/posix_spawnattr_getsigmask: New file.
22237         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22238         modifications.
22239         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22240         new module.
22241
22242         New module 'posix_spawnattr_setsigdefault'.
22243         * modules/posix_spawnattr_setsigdefault: New file.
22244         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22245         modifications.
22246         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22247         new module.
22248
22249         New module 'posix_spawnattr_getsigdefault'.
22250         * modules/posix_spawnattr_getsigdefault: New file.
22251         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22252         modifications.
22253         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22254         new module.
22255
22256         New module 'posix_spawnattr_setschedpolicy'.
22257         * modules/posix_spawnattr_setschedpolicy: New file.
22258         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22259         modifications.
22260         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22261         new module.
22262
22263         New module 'posix_spawnattr_getschedpolicy'.
22264         * modules/posix_spawnattr_getschedpolicy: New file.
22265         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22266         modifications.
22267         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22268         new module.
22269
22270         New module 'posix_spawnattr_setschedparam'.
22271         * modules/posix_spawnattr_setschedparam: New file.
22272         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22273         modifications.
22274         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22275         new module.
22276
22277         New module 'posix_spawnattr_getschedparam'.
22278         * modules/posix_spawnattr_getschedparam: New file.
22279         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22280         modifications.
22281         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22282         new module.
22283
22284         New module 'posix_spawnattr_setpgroup'.
22285         * modules/posix_spawnattr_setpgroup: New file.
22286         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22287         modifications.
22288         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22289         module.
22290
22291         New module 'posix_spawnattr_getpgroup'.
22292         * modules/posix_spawnattr_getpgroup: New file.
22293         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22294         modifications.
22295         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22296         module.
22297
22298         New module 'posix_spawnattr_setflags'.
22299         * modules/posix_spawnattr_setflags: New file.
22300         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22301         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22302         module.
22303
22304         New module 'posix_spawnattr_getflags'.
22305         * modules/posix_spawnattr_getflags: New file.
22306         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22307         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22308         module.
22309
22310         New module 'posix_spawnattr_init'.
22311         * modules/posix_spawnattr_init: New file.
22312         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22313         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22314         module.
22315
22316         New module 'posix_spawn_file_actions_destroy'.
22317         * modules/posix_spawn_file_actions_destroy: New file.
22318         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22319         modifications.
22320         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22321         the new module.
22322
22323         New module 'posix_spawn_file_actions_addopen'.
22324         * modules/posix_spawn_file_actions_addopen: New file.
22325         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22326         modifications.
22327         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22328         the new module.
22329
22330         New module 'posix_spawn_file_actions_adddup2'.
22331         * modules/posix_spawn_file_actions_adddup2: New file.
22332         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22333         modifications.
22334         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22335         the new module.
22336
22337         New module 'posix_spawn_file_actions_addclose'.
22338         * modules/posix_spawn_file_actions_addclose: New file.
22339         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22340         modifications.
22341         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22342         the new module.
22343
22344         New module 'posix_spawn_file_actions_init'.
22345         * modules/posix_spawn_file_actions_init: New file.
22346         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22347         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22348         new module.
22349
22350         New module 'posix_spawn-internal'.
22351         * modules/posix_spawn-internal: New file.
22352         * lib/spawn_int.h: New file, from GNU libc with modifications.
22353         * lib/spawni.c: New file, from GNU libc with modifications.
22354         * m4/posix_spawn.m4: New file.
22355
22356         New module 'spawn'.
22357         * modules/spawn: New file.
22358         * lib/spawn.in.h: New file, from GNU libc with modifications.
22359         * m4/spawn_h.m4: New file.
22360         * doc/posix-headers/spawn.texi: Mention the new module.
22361
22362 2008-09-28  Bruno Haible  <bruno@clisp.org>
22363
22364         * modules/sched-tests: New file.
22365         * tests/test-sched.c: New file.
22366
22367         New module 'sched'.
22368         * modules/sched: New file.
22369         * lib/sched.in.h: New file.
22370         * m4/sched_h.m4: New file.
22371         * doc/posix-headers/sched.texi: Mention the new module.
22372
22373 2008-09-27  Eric Blake  <ebb9@byu.net>
22374
22375         Fix previous patch, and tweak references to $0.
22376         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22377         (func_version, func_gnulib_dir): Don't call this program
22378         gnulib-tool.
22379         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22380         with using $0 in function.
22381         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22382         (func_fatal_error): Reuse the name the user invoked us with.
22383
22384 2008-09-27  Bruno Haible  <bruno@clisp.org>
22385
22386         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22387         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22388         (gl_ICONV_H): Not here.
22389         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22390         instead of assigning ICONV_H directly.
22391
22392         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22393         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22394         WCHAR_H directly.
22395
22396 2008-09-27  Bruno Haible  <bruno@clisp.org>
22397
22398         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22399         * modules/arpa_inet (Depends-on): Add link-warning.
22400         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22401         * modules/unistd (Makefile.am): Likewise.
22402
22403 2008-09-26  Bruno Haible  <bruno@clisp.org>
22404
22405         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22406         variables.
22407         (func_version): Essentially copied from gnulib-tool.
22408         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22409         func_readlink): Copied from gnulib-tool.
22410
22411 2008-09-26  Bruno Haible  <bruno@clisp.org>
22412
22413         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22414         invoking git-version-gen.
22415
22416 2008-09-26  Bruno Haible  <bruno@clisp.org>
22417
22418         * posix-modules: Update to directory names changed on 2008-01-19.
22419         Remove commas in output before splitting into words. No more need to
22420         avoid 'ftruncate' since 2007-02-19.
22421
22422 2008-09-26  Bruno Haible  <bruno@clisp.org>
22423
22424         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22425
22426 2008-09-26  Bruno Haible  <bruno@clisp.org>
22427
22428         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22429         * modules/fwriteerror (Depends-on): Add errno.
22430
22431 2008-09-26  Bruno Haible  <bruno@clisp.org>
22432
22433         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22434         * tests/test-vc-list-files-cvs.sh: Likewise.
22435
22436 2008-09-26  Bruno Haible  <bruno@clisp.org>
22437
22438         * doc/posix-headers/sys_resource.texi: Reorder items.
22439
22440 2008-09-26  Jim Meyering  <meyering@redhat.com>
22441
22442         fts: tweak inode comparison function
22443         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22444         inode numbers, as documented.
22445
22446         fts: sort dirent entries on inode number before traversing
22447         This avoids a quadratic, seek-related performance penalty when
22448         operating on a directory containing many entries (measurable at 10k;
22449         3.5 hours at 2 million entries with a cold cache) on certain types
22450         of file systems, including ext3 and ext4, but not tmpfs.
22451         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22452         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22453         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22454         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22455         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22456         (fts_build): Set the stat.st_ino member from D_INO.
22457         If it is likely to be useful, sort dirent entries on inode number.
22458
22459         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22460         and the struct statfs.f_type member.
22461         * modules/fts (Depends-on): Add d-ino.
22462
22463 2008-09-26  Bruno Haible  <bruno@clisp.org>
22464
22465         * modules/sigpipe-die (Depends-on): Add sigpipe.
22466
22467         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22468         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22469         and GNULIB_STDIO_H_SIGPIPE are set.
22470         * lib/stdio-write.c: New file.
22471         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22472         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22473         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22474         REPLACE_STDIO_WRITE_FUNCS.
22475         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22476         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22477         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22478         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22479         * modules/stdio (Files): Add lib/stdio-write.c.
22480         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22481         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22482         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22483         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22484         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22485         REPLACE_FPRINTF_POSIX.
22486         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22487         REPLACE_PRINTF_POSIX.
22488         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22489         REPLACE_VFPRINTF_POSIX.
22490         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22491         REPLACE_VPRINTF_POSIX.
22492         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22493         SIGPIPE issue.
22494         * doc/posix-functions/fputc.texi: Likewise.
22495         * doc/posix-functions/fputs.texi: Likewise.
22496         * doc/posix-functions/fwrite.texi: Likewise.
22497         * doc/posix-functions/printf.texi: Likewise.
22498         * doc/posix-functions/putc.texi: Likewise.
22499         * doc/posix-functions/putchar.texi: Likewise.
22500         * doc/posix-functions/puts.texi: Likewise.
22501         * doc/posix-functions/vfprintf.texi: Likewise.
22502         * doc/posix-functions/vprintf.texi: Likewise.
22503
22504         * modules/safe-write (Depends-on): Add write.
22505
22506         * modules/sigpipe-tests: New file.
22507         * tests/test-sigpipe.c: New file.
22508         * tests/test-sigpipe.sh: New file.
22509
22510         * modules/write: New file.
22511         * lib/unistd.in.h: Include <sys/types.h>.
22512         (write): New declaration.
22513         * lib/write.c: New file.
22514         * m4/write.m4: New file.
22515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22516         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22517         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22518         GNULIB_WRITE, REPLACE_WRITE.
22519         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22520         and the SIGPIPE issue.
22521
22522         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22523         (raise): New declaration.
22524         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22525         (ext_signal): New function.
22526         (rpl_raise): New function.
22527         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22528         GNULIB_SIGNAL_H_SIGPIPE.
22529         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22530         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22531
22532         * modules/sigpipe: New file.
22533         * m4/sigpipe.m4: New file.
22534
22535 2008-09-25  Derek Price  <derek@ximbiot.com>
22536             Bruno Haible  <bruno@clisp.org>
22537
22538         * gnulib-tool (func_import): Report all license incompatibilities, not
22539         just the first one.
22540
22541 2008-09-25  Bruno Haible  <bruno@clisp.org>
22542
22543         * gnulib-tool (func_import): When computing the edits, consider not
22544         only the Makefile.ams that exist but also those that will be generated.
22545
22546 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22547
22548         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22549         fixes gnulib-tool --test warning about duplicate dependency.
22550
22551 2008-09-25  Bruno Haible  <bruno@clisp.org>
22552
22553         * gnulib-tool: Don't ask the user to perform edits in the generated
22554         Makefile.ams.
22555         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22556         apply to the Makefile.am being generated.
22557         (func_emit_tests_Makefile_am): Execute edits that apply to the
22558         Makefile.am being generated.
22559         (func_import): Setup list of Makefile.am edits before emitting the
22560         Makefile.ams, not at the end.
22561         (func_create_testdir): Update.
22562         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22563
22564 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22565
22566         * gnulib-tool (func_import): Store the --tests-base option in the
22567         comment in gnulib-cache.m4.
22568
22569 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22570
22571         * NEWS: Document increased portability that sys_select now provides.
22572
22573         * lib/sys_select.in.h: Install select wrapper.
22574         * lib/sys_socket.in.h: Use more descriptive name when there is no
22575         select wrapper.
22576         * lib/winsock-select.c: New.
22577         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22578         Require gl_HEADER_SYS_SOCKET.
22579         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22580         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22581         * tests/test-sys_select.c: Add functional tests.
22582
22583 2008-09-24  Eric Blake  <ebb9@byu.net>
22584
22585         open, fopen: close fd leak in last patch
22586         * lib/open.c (rpl_open): Close fd before returning error.
22587         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22588         * doc/posix-functions/open.texi (open): Document that Irix also
22589         has the bug.
22590         * doc/posix-functions/fopen.texi (fopen): Likewise.
22591         Reported by Paolo Bonzini.
22592
22593 2008-09-24  Bruno Haible  <bruno@clisp.org>
22594
22595         Ensure that a filename ending in a slash cannot be used to access a
22596         non-directory.
22597         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22598         to check whether it's really a directory.
22599         * lib/fopen.c: Include fcntl.h, unistd.h.
22600         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22601         and fdopen().
22602         * modules/fopen (Depends-on): Add unistd.
22603         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22604         * tests/test-fopen.c (main): Likewise.
22605         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22606         * doc/posix-functions/fopen.texi: Likewise.
22607         Reported by Eric Blake.
22608
22609 2008-09-23  Eric Blake  <ebb9@byu.net>
22610
22611         c-stack: avoid compiler optimizations when provoking overflow
22612         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22613         recursion harder to optimize, to ensure a stack overflow occurs.
22614         * tests/test-c-stack.c (recurse): Likewise.
22615         Borrowed from libsigsegv.
22616
22617         c-stack: work around Irix sigaltstack bug
22618         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22619         whether sigaltstack uses wrong end of stack_t (copied in part from
22620         libsigsegv).
22621         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22622         Irix bug, without requiring an over-allocation.
22623         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22624         bug.
22625
22626         fopen: document mingw bug on directories
22627         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22628         not allowing a stream visiting a directory, even though reading
22629         from such a stream is not portable.
22630
22631 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22632
22633         * lib/poll.c: Rewrite.
22634         * modules/poll: Depend on alloca.
22635
22636 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22637
22638         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
22639         instead define prototypes for a full set of wrappers.  Ensure
22640         that Cygwin does not use the compatibility code, which is only
22641         for MinGW.
22642         * lib/winsock.c: New.
22643         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
22644         * modules/sys_socket: Add lib/winsock.c.
22645
22646         * modules/poll-tests: Add errno and perror.
22647         * tests/test-poll.c: Use ioctl, not ioctlsocket.
22648
22649 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22650
22651         * tests/test-poll.c: Downgrade minimum needed Winsock version.
22652
22653 2008-09-23  Bruno Haible  <bruno@clisp.org>
22654
22655         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
22656         * doc/glibc-functions/*: Likewise.
22657
22658 2008-09-23  Simon Josefsson  <simon@josefsson.org>
22659
22660         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
22661         success.
22662
22663 2008-09-22  Eric Blake  <ebb9@byu.net>
22664             Bruno Haible  <bruno@clisp.org>
22665
22666         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
22667         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
22668         supply %A but mishandle pseudo-NaN.
22669         Reported by Simon Josefsson.
22670
22671 2008-09-21  Bruno Haible  <bruno@clisp.org>
22672
22673         * tests/test-lock.c (main): Tweak skip message.
22674         * tests/test-tls.c (main): Likewise.
22675
22676 2008-09-21  Bruno Haible  <bruno@clisp.org>
22677
22678         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
22679         whether 'struct sigaction' has sa_sigaction here...
22680         (gl_PREREQ_SIG_HANDLER_H): ... not here.
22681         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
22682
22683 2008-09-21  Bruno Haible  <bruno@clisp.org>
22684
22685         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
22686         section.
22687         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
22688         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
22689         the new section.
22690         (Support for obsolete systems lacking POSIX:2001): New section.
22691         (String handling <string.h>): Move strdup to the new section.
22692         Suggested by Simon Josefsson and Paolo Bonzini.
22693
22694 2008-09-21  Bruno Haible  <bruno@clisp.org>
22695
22696         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
22697         exponents in %e and %g results on 'long double'. Needed for mingw's
22698         improved *printf functions.
22699         * tests/test-vasprintf-posix.c (test_function): Likewise.
22700         * tests/test-snprintf-posix.h (test_function): Likewise.
22701         * tests/test-sprintf-posix.h (test_function): Likewise.
22702         Reported by Eric Blake.
22703
22704 2008-09-21  Bruno Haible  <bruno@clisp.org>
22705
22706         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
22707         * tests/test-sprintf-posix.h (test_function): Likewise.
22708
22709 2008-09-21  Bruno Haible  <bruno@clisp.org>
22710
22711         * modules/getpass (Depends-on): Add strdup-posix.
22712
22713         New module 'strdup-posix'.
22714         * modules/strdup-posix: New file.
22715         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
22716         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
22717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22718         REPLACE_STRDUP.
22719         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
22720         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
22721         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22722         strdup-posix.
22723
22724         * modules/strdup (Depends-on): Remove malloc-posix.
22725
22726 2008-09-20  Bruno Haible  <bruno@clisp.org>
22727
22728         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
22729         Wildenhues.
22730
22731 2008-09-20  Bruno Haible  <bruno@clisp.org>
22732
22733         Ensure that wint_t gets defined on IRIX 5.3.
22734         * lib/wchar.in.h (wint_t): Define if not defined by the system.
22735         * lib/wctype.in.h (wint_t): Likewise.
22736         (__wctype_wint_t): Remove type.
22737         (isw*): Use wint_t instead of __wctype_wint_t.
22738         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
22739         * modules/wchar (Files): Add m4/wint_t.m4.
22740         (Makefile.am): Substitute HAVE_WINT_T.
22741         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
22742         * tests/test-wctype.c: Check that wint_t is defined.
22743         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
22744         * doc/posix-headers/wctype.texi: Likewise.
22745         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22746
22747 2008-09-18  Bruno Haible  <bruno@clisp.org>
22748
22749         * gnulib-tool (func_exit): Update comment.
22750
22751 2008-09-18  Simon Josefsson  <simon@josefsson.org>
22752
22753         * modules/getaddrinfo (Depends-on): Remove strdup, this module
22754         assumes strdup exists and does not depend on strdup to return
22755         ENOMEM on out of memory conditions.
22756
22757 2008-09-18  Bruno Haible  <bruno@clisp.org>
22758
22759         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
22760         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
22761         digits for the exponent.
22762
22763 2008-09-18  Jim Meyering  <meyering@redhat.com>
22764             Bruno Haible  <bruno@clisp.org>
22765
22766         * lib/vasnprintf.c (decimal_point_char): Define also if
22767         NEED_PRINTF_INFINITE_LONG_DOUBLE.
22768
22769 2008-09-16  Bruno Haible  <bruno@clisp.org>
22770         and Eric Blake  <ebb9@byu.net>
22771
22772         vasnprintf: support Irix 5.3
22773         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
22774         that mishandle long double infinity.
22775         Reported by Tom G. Christensen.
22776
22777 2008-09-16  Bruno Haible  <bruno@clisp.org>
22778
22779         * doc/glibc-functions/scandir.texi: Mention the function is missing on
22780         Solaris 9.
22781         * doc/glibc-functions/alphasort.texi: Likewise.
22782         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
22783
22784 2008-09-16  Jim Meyering  <meyering@redhat.com>
22785
22786         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
22787         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
22788         a umask modification leak out of a subshell.  Otherwise, the
22789         opensolaris /bin/sh would be accepted and thus cause unwarranted
22790         failures in the coreutils test suite.
22791
22792 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
22793
22794         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
22795         to succeed.
22796
22797 2008-09-16  Jim Meyering  <meyering@redhat.com>
22798
22799         avoid spurious test failure when library is built without ACL support
22800         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
22801         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
22802         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
22803         * tests/test-copy-acl.sh: Likewise.
22804
22805 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22806
22807         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
22808         based on character occurrence counts.
22809
22810 2008-09-15  Eric Blake  <ebb9@byu.net>
22811
22812         tests: avoid some compiler warnings
22813         * tests/test-memchr.c (main): Pass NULL indirectly.
22814         * tests/test-closein.c (main): Avoid unused variable.
22815
22816 2008-09-15  Bruno Haible  <bruno@clisp.org>
22817
22818         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
22819         are missing on OpenBSD 4.0 individually.
22820         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22821
22822 2008-09-15  Bruno Haible  <bruno@clisp.org>
22823
22824         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
22825         * doc/posix-functions/strerror.texi: Mention also Cygwin.
22826         * doc/posix-functions/perror.texi: Likewise.
22827         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
22828         is missing.
22829         Reported by Eric Blake.
22830
22831         * lib/errno.in.h: Use replacement values >= 2000.
22832         Reported by Eric Blake.
22833
22834 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22835
22836         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
22837         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
22838         limit.
22839         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
22840         compareseq was aborted.
22841
22842 2008-09-14  Bruno Haible  <bruno@clisp.org>
22843
22844         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
22845         yvec_edit_count.
22846         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
22847         (fstrcmp_bounded): Simplify result computation accordingly.
22848
22849 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22850
22851         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
22852         (fstrcmp): Define in terms of fstrcmp_bounded.
22853         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
22854         lower_bound argument.
22855         Return quickly if the result is certainly < lower_bound.
22856         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
22857
22858 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22859
22860         * lib/diffseq.h (EARLY_ABORT): New macro.
22861         (compareseq): Change return type to bool. Return true when EARLY_ABORT
22862         evaluates to true.
22863
22864 2008-09-14  Bruno Haible  <bruno@clisp.org>
22865
22866         * modules/perror-tests: New file.
22867         * tests/test-perror.sh: New file.
22868         * tests/test-perror.c: New file.
22869
22870         New module 'perror'.
22871         * lib/stdio.in.h (perror): New declaration.
22872         * lib/perror.c: New file.
22873         * m4/perror.m4: New file.
22874         * modules/perror: New file.
22875         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
22876         * doc/posix-functions/perror.texi: Mention the perror module.
22877         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
22878         REPLACE_PERROR.
22879         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
22880         REPLACE_PERROR.
22881
22882 2008-09-14  Bruno Haible  <bruno@clisp.org>
22883
22884         * modules/stdio (Makefile.am): Reorder to match the order in
22885         lib/stdio.in.h.
22886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22887
22888 2008-09-13  Bruno Haible  <bruno@clisp.org>
22889
22890         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
22891
22892 2008-09-13  Bruno Haible  <bruno@clisp.org>
22893
22894         Extend strerror to cover the added errno values.
22895         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
22896         (rpl_strerror): Provide error messages for the added errno values and
22897         for the WSA* values.
22898         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
22899         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
22900         strerror.
22901         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
22902         * modules/strerror (Depends-on): Add errno.
22903         * doc/posix-functions/strerror.texi: Document the change.
22904         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
22905         and EOVERFLOW.
22906
22907 2008-09-13  Bruno Haible  <bruno@clisp.org>
22908
22909         * modules/EOVERFLOW: Remove file.
22910         * m4/eoverflow.m4: Remove file.
22911         * modules/EOVERFLOW-tests: Remove file.
22912         * tests/test-EOVERFLOW.c: Remove file.
22913         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
22914         * modules/ftell (Depends-on): Likewise.
22915         * modules/getdelim (Depends-on): Likewise.
22916         * modules/getugroups (Depends-on): Likewise.
22917         * modules/poll (Depends-on): Likewise.
22918         * modules/snprintf (Depends-on): Likewise.
22919         * modules/sprintf-posix (Depends-on): Likewise.
22920         * modules/vasnprintf (Depends-on): Likewise.
22921         * modules/vasprintf (Depends-on): Likewise.
22922         * modules/vfprintf-posix (Depends-on): Likewise.
22923         * modules/vsnprintf (Depends-on): Likewise.
22924         * modules/vsprintf-posix (Depends-on): Likewise.
22925         * modules/xvasprintf (Depends-on): Likewise.
22926         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22927         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
22928         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
22929         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
22930         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22931         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
22932         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
22933         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
22934         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22935         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
22936         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
22937         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
22938         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22939         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
22940         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
22941         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
22942         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22943         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
22944         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
22945         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
22946         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22947         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
22948         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
22949         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
22950         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
22951         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22952         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
22953         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
22954         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
22955         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
22956         * MODULES.html.sh: Remove EOVERFLOW.
22957         * NEWS: Mention the change.
22958
22959 2008-09-13  Bruno Haible  <bruno@clisp.org>
22960
22961         * modules/errno-tests: New file.
22962         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
22963
22964         * lib/errno.in.h: New file.
22965         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
22966         * modules/errno: New file.
22967         * doc/posix-headers/errno.texi: Update documentation.
22968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
22969
22970 2008-09-13  Bruno Haible  <bruno@clisp.org>
22971
22972         * tests/test-poll.c: Use #if for native Windows, rather than testing
22973         __MSVCRT__.
22974
22975 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22976             Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/glob.c: Don't include <pwd.h> on native Windows.
22979         (WINDOWS32): New macro.
22980         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
22981
22982 2008-09-13  Bruno Haible  <bruno@clisp.org>
22983
22984         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
22985         (ETIMEDOUT): Remove macro.
22986         (glthread_cond_timedwait_multithreaded): New declaration.
22987         (glthread_cond_timedwait): Use it.
22988         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
22989         (glthread_cond_timedwait_multithreaded): New function.
22990
22991 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
22992
22993         * modules/poll-tests: Do not check for io.h.
22994         * tests/test-poll.c: Check for __MSVCRT__ instead.
22995
22996 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
22997
22998         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
22999         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23000         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23001
23002 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23003
23004         * modules/poll-tests: New.
23005         * tests/test-poll.c: New.
23006
23007 2008-09-12  Eric Blake  <ebb9@byu.net>
23008
23009         frexp: test for NetBSD failure on -0.0
23010         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23011         not all, bugs from NetBSD 3.0 have been fixed.
23012         * doc/posix-functions/frexp.texi (frexp): Document bug.
23013         Reported by Thomas Klausner.
23014
23015         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23016         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23017         literal -0.0.
23018         Reported by Jonathan C. Patschke <jp@centtech.com>.
23019
23020 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23021
23022         * lib/glthread/cond.h: Use dummy implementation also if
23023         USE_WIN32_THREADS.
23024
23025 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23026
23027         * modules/fnmatch-posix (License): Change to LGPLv2+.
23028         * modules/fnmatch-gnu (License): Likewise.
23029
23030 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23031
23032         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23033
23034 2008-09-11  Jim Meyering  <meyering@redhat.com>
23035
23036         * users.txt: Add gtk-vnc.
23037
23038 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23039
23040         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23041         rotate amounts.
23042
23043         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23044         required for 16-bit and 8-bit rotates.
23045         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23046         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23047         UINT8_MAX instead of hard-coded constants.
23048         Suggested by Paul Eggert.
23049
23050 2008-09-07  Bruno Haible  <bruno@clisp.org>
23051
23052         * tests/test-striconveh.c (main): Check behaviour when converting from
23053         UTF-7.
23054
23055         Make striconveh work better with stateful encodings.
23056         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23057         that iconv does not increment the inptr when returning -1/EINVAL.
23058
23059 2008-09-07  Bruno Haible  <bruno@clisp.org>
23060
23061         * build-aux/config.rpath: Update according to libtool-2.2.6.
23062         * build-aux/config.libpath: Likewise.
23063
23064 2008-09-06  Bruno Haible  <bruno@clisp.org>
23065
23066         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23067         * lib/freadptr.c (freadptr): Likewise.
23068         * lib/freadseek.c (freadptrinc): Likewise.
23069         Reported by Simon Josefsson.
23070
23071 2008-09-06  Bruno Haible  <bruno@clisp.org>
23072
23073         * modules/freadptr (License): Change to LGPLv2+.
23074         * modules/freadseek (License): Likewise.
23075         Suggested by Eric Blake.
23076
23077         * modules/memchr2 (License): Change to LGPLv2+.
23078         Approved by Eric Blake.
23079
23080 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23081             Bruno Haible  <bruno@clisp.org>
23082
23083         Make gnulib-tool work with native 'sed' on AIX.
23084         * gnulib-tool (sed_noop): New variable.
23085         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23086         func_add_or_update, func_create_testdir): Use it to initialize sed
23087         script variables.
23088         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23089
23090 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23091             Bruno Haible  <bruno@clisp.org>
23092
23093         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23094         also works after #include directives.
23095
23096 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
23097
23098         getdate.y: reject an out-of-range timezone value
23099         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23100         the range [-24...+24].  When specified with only one or two digits,
23101         * tests/test-getdate.c: Tests for the fix.
23102         * doc/getdate.texi: Document this change.
23103
23104 2008-09-03  Bruno Haible  <bruno@clisp.org>
23105
23106         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23107
23108 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23109
23110         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23111         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23112         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23113         Blake <ebb9@byu.net>.
23114
23115         * tests/test-bitrotate.c: Add more test vectors.
23116
23117 2008-09-02  Eric Blake  <ebb9@byu.net>
23118
23119         vasnprintf-posix: handle large precision via %.*d
23120         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23121         when handling it ourselves.
23122         * tests/test-vasnprintf-posix.c (test_function): Add test.
23123         * tests/test-snprintf-posix.h (test_function): Likewise.
23124         * tests/test-sprintf-posix.h (test_function): Likewise.
23125         * tests/test-vasprintf-posix.c (test_function): Likewise.
23126         Reported by Alain Guibert.
23127
23128 2008-09-01  Eric Blake  <ebb9@byu.net>
23129
23130         c-stack: make configure-time check more robust
23131         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23132         successful sigaction call.
23133         Reported by Tom G. Christensen.
23134
23135 2008-09-01  Bruno Haible  <bruno@clisp.org>
23136
23137         New module 'findprog-lgpl'.
23138         * modules/findprog-lgpl: New file.
23139         * lib/findprog-lgpl.c: New file.
23140         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23141         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23142         to decide whether to use strdup or xstrdup, concatenated_filename or
23143         xconcatenated_filename.
23144
23145 2008-09-01  Bruno Haible  <bruno@clisp.org>
23146
23147         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23148         'xconcat-filename' (GPL).
23149         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23150         (License): Change to LGPLv2+.
23151         * modules/xconcat-filename: New file.
23152         * lib/concat-filename.h (concatenated_filename): Change specification.
23153         (xconcatenated_filename): New declaration.
23154         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23155         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23156         memory situations.
23157         * lib/xconcat-filename.c: New file.
23158         * NEWS: Mention the change.
23159         * lib/findprog.c: Include concat-filename.h, not filename.h.
23160         (find_in_path): Use xconcatenated_filename instead of
23161         concatenated_filename.
23162         * lib/javacomp.c: Include concat-filename.h, not filename.h.
23163         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23164         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23165         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23166         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
23167         instead of concatenated_filename.
23168         * lib/javaexec.c: Include concat-filename.h, not filename.h.
23169         (execute_java_class): Use xconcatenated_filename instead of
23170         concatenated_filename.
23171         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
23172         * modules/javacomp (Depends-on): Likewise.
23173         * modules/javaexec (Depends-on): Likewise.
23174
23175 2008-09-01  Bruno Haible  <bruno@clisp.org>
23176
23177         Split module 'filename' into 'filename' and 'concat-filename'.
23178         * modules/filename: Keep only lib/filename.h.
23179         (License): Change to LGPLv2+.
23180         * modules/concat-filename: New file, extracted from modules/filename.
23181         * lib/filename.h (concatenated_filename): Remove declaration.
23182         * lib/concat-filename.h: New file, extracted from lib/filename.h.
23183         * lib/concat-filename.c: Include concat-filename.h.
23184         * NEWS: Mention the change.
23185
23186 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23187
23188         * lib/bitrotate.h (rotl8, rotr8): Add.
23189
23190         * modules/bitrotate (configure.ac): Need
23191         AC_REQUIRE([AC_C_INLINE]).
23192         (Description): Mention stdint.h.  Reported by Bruno Haible
23193         <bruno@clisp.org>.
23194
23195         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23196         Paolo Bonzini <bonzini@gnu.org>.
23197
23198 2008-08-31  Bruno Haible  <bruno@clisp.org>
23199
23200         Assume Solaris specific bi-arch conventions on Solaris systems.
23201         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23202         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23203         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23204         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23205         like acl_libdirstem.
23206         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23207         acl_libdirstem.
23208         * NEWS: Mention the change.
23209         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23210
23211 2008-08-31  Jim Meyering  <meyering@redhat.com>
23212
23213         * lib/strftime.h: Add comments describing the two added arguments.
23214
23215         remove duplicate #include directives
23216         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23217         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23218
23219 2008-08-31  Bruno Haible  <bruno@clisp.org>
23220
23221         New module 'sigpipe-die'.
23222         * modules/sigpipe-die: New file.
23223         * lib/sigpipe-die.h: New file.
23224         * lib/sigpipe-die.c: New file.
23225         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23226
23227 2008-08-31  Bruno Haible  <bruno@clisp.org>
23228
23229         Don't override previously installed signal handlers.
23230         * lib/fatal-signal.c (saved_sigactions): New variable.
23231         (uninstall_handlers): Reset the signal to the saved handler, not
23232         to SIG_DFL (except when ignored).
23233         (install_handlers): Save the previous handlers.
23234
23235 2008-08-30  Bruno Haible  <bruno@clisp.org>
23236
23237         * gnulib-tool (func_reset_sigpipe): New function.
23238         (func_get_automake_snippet, func_modules_transitive_closure,
23239         func_import): Invoke it before a join command that reads from stdin,
23240         to avoid "echo: write error: Broken pipe" error messages on stderr.
23241         Reported by Sam Steingold <sds@gnu.org>.
23242
23243 2008-08-30  Bruno Haible  <bruno@clisp.org>
23244
23245         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23246         Code copied from m4/open.m4.
23247         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23248         access and the filename ends in a slash. Code copied from lib/open.c.
23249         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23250         * tests/test-fopen.c (main): Check against bug with trailing slash.
23251
23252 2008-08-29  Bruno Haible  <bruno@clisp.org>
23253
23254         Avoid some "gcc -pedantic" warnings.
23255         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23256         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23257         * lib/dirent.in.h: Likewise.
23258         * lib/fcntl.in.h: Likewise.
23259         * lib/float.in.h: Likewise.
23260         * lib/iconv.in.h: Likewise.
23261         * lib/inttypes.in.h: Likewise.
23262         * lib/locale.in.h: Likewise.
23263         * lib/math.in.h: Likewise.
23264         * lib/netinet_in.in.h: Likewise.
23265         * lib/search.in.h: Likewise.
23266         * lib/signal.in.h: Likewise.
23267         * lib/stdarg.in.h: Likewise.
23268         * lib/stdint.in.h: Likewise.
23269         * lib/stdio.in.h: Likewise.
23270         * lib/stdlib.in.h: Likewise.
23271         * lib/string.in.h: Likewise.
23272         * lib/strings.in.h: Likewise.
23273         * lib/sys_select.in.h: Likewise.
23274         * lib/sys_socket.in.h: Likewise.
23275         * lib/sys_stat.in.h: Likewise.
23276         * lib/sys_time.in.h: Likewise.
23277         * lib/sysexits.in.h: Likewise.
23278         * lib/time.in.h: Likewise.
23279         * lib/unistd.in.h: Likewise.
23280         * lib/wchar.in.h: Likewise.
23281         * lib/wctype.in.h: Likewise.
23282         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23283         * modules/fchdir (Makefile.am): Likewise.
23284         * modules/fcntl (Makefile.am): Likewise.
23285         * modules/float (Makefile.am): Likewise.
23286         * modules/iconv_open (Makefile.am): Likewise.
23287         * modules/inttypes (Makefile.am): Likewise.
23288         * modules/locale (Makefile.am): Likewise.
23289         * modules/math (Makefile.am): Likewise.
23290         * modules/netinet_in (Makefile.am): Likewise.
23291         * modules/search (Makefile.am): Likewise.
23292         * modules/signal (Makefile.am): Likewise.
23293         * modules/stdarg (Makefile.am): Likewise.
23294         * modules/stdint (Makefile.am): Likewise.
23295         * modules/stdio (Makefile.am): Likewise.
23296         * modules/stdlib (Makefile.am): Likewise.
23297         * modules/string (Makefile.am): Likewise.
23298         * modules/strings (Makefile.am): Likewise.
23299         * modules/sys_select (Makefile.am): Likewise.
23300         * modules/sys_socket (Makefile.am): Likewise.
23301         * modules/sys_stat (Makefile.am): Likewise.
23302         * modules/sys_time (Makefile.am): Likewise.
23303         * modules/sysexits (Makefile.am): Likewise.
23304         * modules/time (Makefile.am): Likewise.
23305         * modules/unistd (Makefile.am): Likewise.
23306         * modules/wchar (Makefile.am): Likewise.
23307         * modules/wctype (Makefile.am): Likewise.
23308         Reported by Reuben Thomas <rrt@sc3d.org>.
23309
23310 2008-08-29  Bruno Haible  <bruno@clisp.org>
23311
23312         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23313         any more.
23314
23315 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23316
23317         * MODULES.html.sh (Misc): Add bitrotate.
23318
23319         * modules/bitrotate: New file.
23320
23321         * lib/bitrotate.h: New file.
23322
23323         * modules/bitrotate-tests: New file.
23324
23325         * tests/test-bitrotate.c: New file.
23326
23327         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23328         on the bitrotate module.
23329
23330         * lib/arctwo.c: Use new bitrotate module.
23331
23332 2008-08-29  Jim Meyering  <meyering@redhat.com>
23333
23334         bootstrap: merge changes from coreutils
23335         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23336         of copied files.  Remove a kludge, now that this is fixed.
23337         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23338         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23339         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23340
23341 2008-08-29  Bruno Haible  <bruno@clisp.org>
23342
23343         * MODULES.html.sh: Remove --cvs-urls option.
23344
23345 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23346
23347         maint.mk: adjust to file name change
23348         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23349
23350 2008-08-28  Jim Meyering  <meyering@redhat.com>
23351
23352         * modules/getndelim2 (License): Relicense to LGPLv2+.
23353         Approved by Richard Stallman for the version of 1995, and by
23354         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23355
23356 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23357
23358         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23359         dummy if one is not available.  Do not touch them if
23360         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23361         (getc_maybe_unlocked): New.
23362         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23363
23364 2008-08-26  Eric Blake  <ebb9@byu.net>
23365
23366         doc/INSTALL: resync from autoconf
23367         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23368         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23369         moving...
23370         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23371         * INSTALL: Regenerate.
23372         * INSTALL.ISO: New file.
23373         * INSTALL.UTF-8: Likewise.
23374
23375 2008-08-26  Jim Meyering  <meyering@redhat.com>
23376
23377         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23378         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23379         these definitions conditional, so that they may be overridden, too.
23380
23381 2008-08-26  Bruno Haible  <bruno@clisp.org>
23382
23383         Generate INSTALL file variants with prettier quotes.
23384         * doc/Makefile (INSTALL_PRELUDE): New macro.
23385         (INSTALL): Use it.
23386         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23387
23388 2008-08-26  Bruno Haible  <bruno@clisp.org>
23389
23390         Run makeinfo in an English locale.
23391         * doc/Makefile (MAKEINFO): New variable.
23392
23393 2008-08-26  Bruno Haible  <bruno@clisp.org>
23394
23395         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23396         Suggested by Eric Blake.
23397
23398 2008-08-25  Bruno Haible  <bruno@clisp.org>
23399
23400         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23401
23402 2008-08-25  Eric Blake  <ebb9@byu.net>
23403
23404         c-stack: test that stack overflow can be caught
23405         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23406         that platform allows handling stack overflow; at least OS/2 EMX
23407         has sigaltstack, but crashes before transferring control to
23408         handler on stack overflow.
23409         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23410         check for HAVE_STACK_OVERFLOW_HANDLING.
23411         Reported by Elbert Pol.
23412
23413 2008-08-25  Bruno Haible  <bruno@clisp.org>
23414
23415         * doc/posix-functions/strftime.texi: Fix description of strftime
23416         module.
23417
23418 2008-08-24  Bruno Haible  <bruno@clisp.org>
23419
23420         * tests/uniwidth/test-uc_width2.c: New file.
23421         * tests/uniwidth/test-uc_width2.sh: New file.
23422         * modules/uniwidth/width-tests (Files): Add the new files.
23423         (TESTS): Add uniwidth/test-uc_width2.sh.
23424         (TESTS_ENVIRONMENT): New variable.
23425         (check_PROGRAMS): Add test-uc_width2.
23426         (test_uc_width2_SOURCES): New variable.
23427
23428         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23429         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23430         not 0x00AB.
23431         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23432
23433 2008-08-22  Eric Blake  <ebb9@byu.net>
23434
23435         test-lock, test-tls: mention why a test is skipped
23436         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23437         skipped.
23438         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23439
23440         count-one-bits: relax license
23441         * modules/count-one-bits (License): Relicense to LGPLv2+.
23442         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23443
23444 2008-08-22  Andreas Schwab  <schwab@suse.de>
23445
23446         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23447         Remove spurious space in assignment.
23448
23449 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23450
23451         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23452         Paul Eggert <eggert@CS.UCLA.EDU>.
23453
23454 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23455
23456         * modules/gettext: Add m4/threadlib.m4.
23457
23458 2008-08-19  Eric Blake  <ebb9@byu.net>
23459
23460         test-c-stack: fix compilation failure on FreeBSD 5.0
23461         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23462         headers before <sys/resource.h>.
23463         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23464         the bug.
23465         Reported by Nelson H. F. Beebe.
23466
23467         strverscmp: migrate from "strverscmp.h" to <string.h>
23468         * modules/string (Makefile.am): Add new hooks.
23469         * modules/strverscmp (Files): Remove strverscmp.h.
23470         (Depends-on): Add string.
23471         (configure.ac): Add indicator.
23472         (Include): Mention new header.
23473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23474         defaults.
23475         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23476         results.
23477         * lib/strverscmp.h: Delete.
23478         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23479         * tests/test-strverscmp.c (includes): Adjust client.
23480         * lib/check-version.c (includes): Likewise.
23481         * NEWS: Document the change.
23482
23483         strverscmp: add unit test
23484         * modules/strverscmp-tests: New file.
23485         * tests/test-strverscmp.c: Likewise.
23486
23487 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23488
23489         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23490         regarding Windows crypto stuff, from Mono.
23491
23492 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23493
23494         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23495         if present, for intel RND.  Return error on failures.
23496
23497 2008-08-18  Ben Pfaff  <blp@gnu.org>
23498
23499         gitlog-to-changelog: give better diagnostic for failed pipe-open
23500         * build-aux/gitlog-to-changelog: Improve error message: suggest
23501         that the version of Git may be too old.
23502
23503 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23504
23505         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23506         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23507
23508 2008-08-18  Bruno Haible  <bruno@clisp.org>
23509
23510         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23511         pthread_in_use().
23512
23513 2008-08-18  Bruno Haible  <bruno@clisp.org>
23514
23515         * lib/glthread/threadlib.c: Include <pthread.h>.
23516
23517 2008-08-18  Bruno Haible  <bruno@clisp.org>
23518
23519         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23520         glthread_recursive_lock_* macros.
23521         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23522         Fix syntax error.
23523
23524 2008-08-18  Bruno Haible  <bruno@clisp.org>
23525
23526         * lib/glthread/thread.c: Avoid forcing a context switch right after
23527         thread creation.
23528
23529 2008-08-17  Bruno Haible  <bruno@clisp.org>
23530
23531         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23532         * lib/glthread/thread.h: Provide Win32 specific implementation.
23533         * modules/thread (Files): Add lib/glthread/thread.c.
23534         (Depends-on): Add lock.
23535         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23536
23537 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23538
23539         New module 'yield'.
23540         * modules/yield: New file.
23541         * lib/glthread/yield.h: New file.
23542         * m4/yield.m4: New file.
23543         * MODULES.html.sh (Multithreading): Add yield.
23544
23545 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23546
23547         New module 'thread'.
23548         * modules/thread: New file.
23549         * lib/glthread/thread.h: New file.
23550         * m4/thread.m4: New file.
23551         * MODULES.html.sh (Multithreading): Add thread.
23552
23553 2008-08-17  Bruno Haible  <bruno@clisp.org>
23554
23555         * lib/glthread/lock.h: Include <stdlib.h> always.
23556         * lib/glthread/tls.h: Likewise.
23557         * lib/glthread/cond.h: Likewise.
23558
23559 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23560
23561         New module 'cond'.
23562         * modules/cond: New file.
23563         * lib/glthread/cond.h: New file.
23564         * lib/glthread/cond.c: New file.
23565         * m4/cond.m4: New file.
23566         * MODULES.html.sh (Multithreading): Add cond.
23567
23568 2008-08-16  Eric Blake  <ebb9@byu.net>
23569
23570         c-stack: fix regression on Irix 5.3 from 2008-06-21
23571         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23572         sa_sigaction...
23573         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23574         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23575         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23576         * modules/signal (Makefile.am): Use the value.
23577         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23578         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23579         * doc/posix-headers/signal.texi (signal.h): Document this
23580         portability issue.
23581         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23582         Reported by Tom G. Christensen.
23583
23584 2008-08-17  Bruno Haible  <bruno@clisp.org>
23585
23586         New module 'threadlib'.
23587         * modules/threadlib: New file.
23588         * lib/glthread/threadlib.c: New file, extracted from
23589         lib/glthread/lock.c.
23590         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23591         functions.
23592         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23593         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23594         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23595         macros.
23596         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23597         (gl_DISABLE_THREADS): Remove macro.
23598         * modules/lock (Files): Remove build-aux/config.rpath.
23599         (Depends-on): Remove havelib. Add threadlib.
23600         (configure.ac-early): Remove section.
23601         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23602         * modules/tls (Depends-on): Remove lock. Add threadlib.
23603         (Link): New section, copied from threadlib.
23604         * MODULES.html.sh (Multithreading): Add threadlib.
23605
23606 2008-08-14  Bruno Haible  <bruno@clisp.org>
23607
23608         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23609         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23610         glthread_rwlock_unlock, glthread_rwlock_destroy,
23611         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23612         glthread_recursive_lock_destroy): Define as macros always.
23613         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23614         glthread_lock_lock.
23615         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23616         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23617         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23618         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23619         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23620         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23621         (glthread_recursive_lock_lock_func): Renamed from
23622         glthread_recursive_lock_lock.
23623         (glthread_recursive_lock_unlock_func): Renamed from
23624         glthread_recursive_lock_unlock.
23625         (glthread_recursive_lock_destroy_func): Renamed from
23626         glthread_recursive_lock_destroy.
23627
23628 2008-08-14  Bruno Haible  <bruno@clisp.org>
23629
23630         * lib/glthread/lock.h: Renamed from lib/lock.h.
23631         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23632         * lib/glthread/tls.h: Renamed from lib/tls.h.
23633         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23634         * lib/fstrcmp.c: Update includes.
23635         * lib/strsignal.c: Update includes.
23636         * modules/lock (Files, Makefile.am): Update.
23637         (Include): Change to "glthread/lock.h".
23638         * modules/tls (Files, Makefile.am): Update.
23639         (Include): Change to "glthread/tls.h".
23640         * tests/test-lock.c: Update includes.
23641         * tests/test-tls.c: Update includes.
23642         * NEWS: Mention the renamed header files.
23643
23644 2008-08-11  Jim Meyering  <meyering@redhat.com>
23645
23646         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
23647
23648 2008-08-11  Eric Blake  <ebb9@byu.net>
23649
23650         test-c-stack: avoid C99-ism
23651         * tests/test-c-stack.c (main): Fix whitespace, move declaration
23652         before statement.
23653         Reported by Alain Guibert.
23654
23655 2008-08-10  Jim Meyering  <meyering@redhat.com>
23656
23657         ensure that return value of uinttostr et al are not ignored
23658         * lib/inttostr.h (__GNUC_PREREQ): Define.
23659         (__attribute_warn_unused_result__): Define.
23660         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
23661
23662 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
23663
23664         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
23665         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
23666
23667 2008-08-07  Jim Meyering  <meyering@redhat.com>
23668
23669         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
23670
23671         * modules/mkstemp (License): Relicense under LGPLv2+.
23672         * modules/tempname (License): Likewise.
23673
23674 2008-08-06  Bruno Haible  <bruno@clisp.org>
23675
23676         * lib/poll.c (poll): Further micro-optimization.
23677
23678 2008-08-06  Jim Meyering  <meyering@redhat.com>
23679
23680         inet_pton.c: use locale-independent tolower
23681         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
23682         (inet_pton6): Use c_tolower rather than tolower.
23683         * modules/inet_pton (Depends-on): Add c-ctype.
23684
23685 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
23686
23687         * lib/poll.c (poll): Avoid division when timeout is 0, cache
23688         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
23689
23690 2008-08-06  Jim Meyering  <meyering@redhat.com>
23691
23692         * modules/inet_pton (License): Relicense under LGPLv2+.
23693
23694 2008-08-03  Bruno Haible  <bruno@clisp.org>
23695
23696         Additional non-aborting API for lock and tls.
23697         * lib/lock.h: Include <errno.h>.
23698         (glthread_lock_init): New macro/function.
23699         (gl_lock_init): Define as wrapper around glthread_lock_init.
23700         (glthread_lock_lock): New macro/function.
23701         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
23702         (glthread_lock_unlock): New macro/function.
23703         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
23704         (glthread_lock_destroy): New macro/function.
23705         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
23706         (glthread_rwlock_init): New macro/function.
23707         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
23708         (glthread_rwlock_rdlock): New macro/function.
23709         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
23710         (glthread_rwlock_wrlock): New macro/function.
23711         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
23712         (glthread_rwlock_unlock): New macro/function.
23713         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
23714         (glthread_rwlock_destroy): New macro/function.
23715         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
23716         (glthread_recursive_lock_init): New macro/function.
23717         (gl_recursive_lock_init): Define as wrapper around
23718         glthread_recursive_lock_init.
23719         (glthread_recursive_lock_lock): New macro/function.
23720         (gl_recursive_lock_lock): Define as wrapper around
23721         glthread_recursive_lock_lock.
23722         (glthread_recursive_lock_unlock): New macro/function.
23723         (gl_recursive_lock_unlock): Define as wrapper around
23724         glthread_recursive_lock_unlock.
23725         (glthread_recursive_lock_destroy): New macro/function.
23726         (gl_recursive_lock_destroy): Define as wrapper around
23727         glthread_recursive_lock_destroy.
23728         (glthread_once): New macro/function.
23729         (gl_once): Define as wrapper around glthread_once.
23730         Update function declarations.
23731         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
23732         glthread_rwlock_init. Return error code.
23733         (glthread_rwlock_rdlock_multithreaded): Renamed from
23734         glthread_rwlock_rdlock. Return error code.
23735         (glthread_rwlock_wrlock_multithreaded): Renamed from
23736         glthread_rwlock_wrlock. Return error code.
23737         (glthread_rwlock_unlock_multithreaded): Renamed from
23738         glthread_rwlock_unlock. Return error code.
23739         (glthread_rwlock_destroy_multithreaded): Renamed from
23740         glthread_rwlock_destroy. Return error code.
23741         (glthread_recursive_lock_init_multithreaded): Renamed from
23742         glthread_recursive_lock_init. Return error code.
23743         (glthread_recursive_lock_lock_multithreaded): Renamed from
23744         glthread_recursive_lock_lock. Return error code.
23745         (glthread_recursive_lock_unlock_multithreaded): Renamed from
23746         glthread_recursive_lock_unlock. Return error code.
23747         (glthread_recursive_lock_destroy_multithreaded): Renamed from
23748         glthread_recursive_lock_destroy. Return error code.
23749         (glthread_once_call): Make static.
23750         (glthread_once_multithreaded): Renamed from glthread_once.
23751         * lib/tls.h: Include <errno.h>.
23752         (glthread_tls_key_init): New macro/function.
23753         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
23754         (glthread_tls_set): New macro/function.
23755         (gl_tls_set): Define as wrapper around glthread_tls_set.
23756         (glthread_tls_key_destroy): New macro/function.
23757         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
23758         Update function declarations.
23759         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
23760         glthread_tls_get.
23761         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23762
23763 2008-08-04  Eric Blake  <ebb9@byu.net>
23764
23765         gnumakefile: use space, not TAB, outside of targets
23766         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
23767
23768 2008-08-02  Jim Meyering  <meyering@redhat.com>
23769
23770         getdate.y: avoid locale-dependent date parsing failure
23771         In Turkish locales, getdate would fail to recognize keywords
23772         containing a lowercase "i".  The solution is not to rely on
23773         locale-sensitive case-conversion.
23774         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
23775         (lookup_word): Use c_toupper in place of toupper.
23776         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
23777         Reported by Vefa Bicakci <bicave@superonline.com> in
23778         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
23779         * modules/getdate (Depends-on): Add c-ctype.
23780
23781 2008-08-02  Bruno Haible  <bruno@clisp.org>
23782
23783         * gnulib-tool (func_import): When updating or creating a .gitignore
23784         file, prepend each added line with a slash, and ignore leading slashes
23785         from the existing lines.
23786         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
23787
23788 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23789
23790         Portability fix for GNU make 3.79.1.
23791         * top/GNUmakefile: Avoid 'else COND', which older GNU make
23792         versions do not understand.
23793
23794 2008-08-01  Bruno Haible  <bruno@clisp.org>
23795
23796         Work around bug of HP-UX 10.20 cc with -0.0 literal.
23797         * tests/test-isnanf.h (zero): New variable.
23798         (main): Avoid literal -0.0f.
23799         * tests/test-isnand.h (zero): New variable.
23800         (main): Avoid literal -0.0.
23801         * tests/test-isnanl.h (zero): New variable.
23802         (main): Avoid literal -0.0L.
23803         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
23804         (test_float, test_double, test_long_double): Avoid literals -0.0f,
23805         -0.0, -0.0L.
23806         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
23807         (test_signbitd): Avoid literal -0.0.
23808         (test_signbitl): Avoid literal -0.0L.
23809         * tests/test-ceilf1.c (zero): New variable.
23810         (main): Avoid literal -0.0f.
23811         * tests/test-ceill.c (zero): New variable.
23812         (main): Avoid literal -0.0L.
23813         * tests/test-floorf1.c (zero): New variable.
23814         (main): Avoid literal -0.0f.
23815         * tests/test-floorl.c (zero): New variable.
23816         (main): Avoid literal -0.0L.
23817         * tests/test-roundf1.c (zero): New variable.
23818         (main): Avoid literal -0.0f.
23819         * tests/test-round1.c (zero): New variable.
23820         (main): Avoid literal -0.0.
23821         * tests/test-roundl.c (zero): New variable.
23822         (main): Avoid literal -0.0L.
23823         * tests/test-truncf1.c (zero): New variable.
23824         (main): Avoid literal -0.0f.
23825         * tests/test-trunc1.c (zero): New variable.
23826         (main): Avoid literal -0.0.
23827         * tests/test-truncl.c (zero): New variable.
23828         (main): Avoid literal -0.0L.
23829         * tests/test-frexp.c (zero): New variable.
23830         (main): Avoid literal -0.0.
23831         * tests/test-frexpl.c (zero): New variable.
23832         (main): Avoid literal -0.0L.
23833         * tests/test-ldexpl.c (zero): New variable.
23834         (main): Avoid literal -0.0L.
23835         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23836         (zerod, zerol): New variables.
23837         (test_function): Avoid literals -0.0, -0.0L.
23838         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23839         (zerod, zerol): New variables.
23840         (test_function): Avoid literals -0.0, -0.0L.
23841         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23842         (zerod, zerol): New variables.
23843         (test_function): Avoid literals -0.0, -0.0L.
23844         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23845         (zerod, zerol): New variables.
23846         (test_function): Avoid literals -0.0, -0.0L.
23847         * tests/test-strtod.c (zero): New variable.
23848         (main): Avoid literal -0.0.
23849         Reported by Jonathan C. Patschke <jp@centtech.com>.
23850
23851 2008-07-31  Jim Meyering  <meyering@redhat.com>
23852
23853         sha256.h: correct definition of SHA224_DIGEST_SIZE
23854         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
23855         Reported by Paulie Pena IV <paulie4@gmail.com>.
23856         Define as 224 / 8, rather than as a literal.
23857         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
23858         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
23859         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
23860
23861 2008-07-31  Bruno Haible  <bruno@clisp.org>
23862
23863         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
23864         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
23865         Reported by Jonathan Patschke <jp@centtech.com>.
23866
23867 2008-07-31  Bruno Haible  <bruno@clisp.org>
23868
23869         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
23870         Reported by Paolo Bonzini <bonzini@gnu.org>.
23871
23872 2008-07-30  Eric Blake  <ebb9@byu.net>
23873
23874         test-strtod: allow compilation without -lm
23875         * tests/test-strtod.c (main): Avoid link dependence on fabs.
23876         Reported by Dennis Clarke <blastwave@gmail.com>.
23877
23878 2008-07-28  Jim Meyering  <meyering@redhat.com>
23879
23880         bootstrap: work also when there are no .po files in po/
23881         * build-aux/bootstrap (update_po_files): Complete the change
23882         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
23883
23884 2008-07-27  Jim Meyering  <meyering@redhat.com>
23885
23886         * users.txt: Add zile.
23887
23888 2008-07-26  Ben Pfaff  <blp@gnu.org>
23889
23890         Add missing dependencies on new m4/exponent[fdl].m4 files.
23891         * modules/isnanf-nolibm: Add m4/exponentf.m4.
23892         * modules/isnand-nolibm: Add m4/exponentd.m4.
23893         * modules/isnanl-nolibm: Add m4/exponentl.m4.
23894         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
23895         m4/isnan[fdl].m4, because the macros actually used moved.
23896         Reported by Jim Meyering.
23897
23898 2008-07-14  Ben Pfaff  <blp@gnu.org>
23899
23900         Add isinf module.
23901         * lib/isinf.c: New file.
23902         * lib/math.in.h: Define isinf macro if we have decided to replace
23903         it.
23904         * m4/isinf.m4: New file.
23905         * m4/math_h.m4: Initialize and substitute variables for isinf
23906         module.
23907         * modules/isinf: New file.
23908         * modules/isinf-tests: New file.
23909         * modules/math: Add substitutions for new module.
23910         * tests/test-isinf.c: New file.
23911         * doc/posix-functions/isinf.texi: Mention new module.
23912         * MODULES.html.sh: Mention new module.
23913
23914 2008-07-14  Ben Pfaff  <blp@gnu.org>
23915
23916         Factor out some macros for use by additional modules.
23917         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
23918         exponentf.m4.
23919         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
23920         exponentd.m4.
23921         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
23922         file exponentl.m4.
23923         * m4/exponentf.m4: New file.
23924         * m4/exponentd.m4: New file.
23925         * m4/exponentl.m4: New file.
23926         * modules/isnanf: Use new file m4/exponentf.m4.
23927         * modules/isnand: Use new file m4/exponentd.m4.
23928         * modules/isnanl: Use new file m4/exponentl.m4.
23929
23930 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
23931
23932         mktime.c: normalize tp->tm_isdst value to -1/0/1.
23933         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
23934         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
23935         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
23936
23937         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
23938         readlink on platforms without PATH_MAX.
23939
23940 2008-07-21  Eric Blake  <ebb9@byu.net>
23941
23942         Warn, not fail, on stale version.
23943         * top/GNUmakefile (_curr-ver): Tone down previous patch.
23944
23945         Don't allow installation with stale devel version number.
23946         * top/GNUmakefile (_is-install-target): New macro.
23947         (_curr-ver): Forbid installation with stale version number.
23948
23949 2008-07-20  Bruno Haible  <bruno@clisp.org>
23950
23951         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
23952         TESTS_ENVIRONMENT.
23953         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
23954
23955 2008-07-20  Bruno Haible  <bruno@clisp.org>
23956
23957         * lib/c-stack.h (c_stack_action): Add documentation.
23958         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
23959
23960 2008-07-20  Bruno Haible  <bruno@clisp.org>
23961
23962         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
23963         * modules/readlink (License): Likewise.
23964
23965 2008-07-17  Eric Blake  <ebb9@byu.net>
23966
23967         * modules/c-stack (Link): Fix typo.
23968
23969         Make c-stack use libsigsegv, when available.
23970         * modules/c-stack (Depends-on): Add libsigsegv.
23971         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
23972         needed.
23973         * lib/c-stack.c (SIGSTKSZ): Define fallback.
23974         (segv_handler, overflow_handler, c_stack_action)
23975         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
23976         implementation when libsigsegv is available, but only when using
23977         the library is necessary.
23978         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
23979         comment, explaining why XSI check fails on Linux.
23980         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
23981         * tests/test-c-stack2.sh: Tweak skip message.
23982         * NEWS: Document new link-time requirements.
23983
23984 2008-07-16  Eric Blake  <ebb9@byu.net>
23985
23986         c-stack: Expose false positives when not using libsigsegv.
23987         * modules/c-stack-tests (Files): Expand test.
23988         * tests/test-c-stack.c (main): Add means to conditionally trigger
23989         non-overflow SIGSEGV.
23990         * tests/test-c-stack2.sh: New file.
23991
23992 2008-07-14  Bruno Haible  <bruno@clisp.org>
23993
23994         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
23995         Reported by Eric Blake.
23996
23997 2008-07-14  Sam Steingold  <sds@gnu.org>
23998             Bruno Haible  <bruno@clisp.org>
23999
24000         New module libsigsegv.
24001         * modules/libsigsegv: New file.
24002         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24003         modifications.
24004         * MODULES.html.sh (Signal handling): New section.
24005
24006 2008-07-14  Bruno Haible  <bruno@clisp.org>
24007
24008         * modules/unictype/ctype-* (Description): Add the word "function".
24009         Improves the resulting doc in MODULES.html.
24010
24011 2008-07-12  Ben Pfaff  <blp@gnu.org>
24012
24013         Add longlong module.
24014         * modules/longlong: New file.
24015
24016 2008-07-12  Bruno Haible  <bruno@clisp.org>
24017
24018         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24019         to empty.
24020
24021 2008-07-10  Ben Pfaff  <blp@gnu.org>
24022
24023         Add isnan module.
24024         * doc/posix-functions/isnan.texi: Mention new module.
24025         * lib/math.in.h: Define isnan macro if we have decided to replace
24026         it.
24027         * m4/isnan.m4: New file.
24028         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24029         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24030         also.
24031         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24032         redundancy.
24033         * m4/math_h.m4: Initialize and substitute variables for isnan
24034         module.
24035         * modules/isnan: New file.
24036         * modules/isnan-tests: New file.
24037         * modules/math: Add substitutions for new module.
24038         * tests/test-isnan.c: New file.
24039         * MODULES.html.sh: Mention new module.
24040
24041 2008-07-10  Ben Pfaff  <blp@gnu.org>
24042
24043         Add isnanf module.
24044         * lib/isnanf.m4: New file.
24045         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24046         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24047         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24048         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24049         * modules/isnanf: New file.
24050         * modules/isnanf-tests: New file.
24051         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24052         files.
24053         * tests/test-isnanf-nolibm.c: factored most of its contents into
24054         new file tests/test-isnanf.h.
24055         * tests/test-isnanf.h: New file.
24056         * tests/test-isnanf.c: New file.
24057         * MODULES.html.sh: Mention new module.
24058         * doc/glibc-functions/isnanf.texi: Mention new module.
24059
24060 2008-07-10  Ben Pfaff  <blp@gnu.org>
24061
24062         Add isnand module.
24063         * lib/isnand.h: New file.
24064         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24065         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24066         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24067         functionality also.
24068         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24069         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24070         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24071         * modules/isnand: New file.
24072         * modules/isnand-tests: New file.
24073         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24074         files.
24075         * tests/test-isnand-nolibm.c: factored most of its contents into
24076         new file tests/test-isnand.h.
24077         * tests/test-isnand.h: New file.
24078         * tests/test-isnand.c: New file.
24079         * MODULES.html.sh: Mention new module.
24080
24081 2008-07-10  Ben Pfaff  <blp@gnu.org>
24082
24083         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24084         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24085         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24086         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24087         * modules/isnanf-nolibm: Update references to renamed files.
24088         * modules/isnand-nolibm: Likewise.
24089         * modules/isnanf-nolibm-tests: Likewise.
24090         * modules/isnand-nolibm-tests: Likewise.
24091         * lib/frexp.c: Likewise.
24092         * lib/isfinite.c: Likewise.
24093         * lib/signbitd.c: Likewise.
24094         * lib/signbitf.c: Likewise.
24095         * lib/vasnprintf.c: Likewise.
24096         * tests/test-ceilf1.c: Likewise.
24097         * tests/test-ceilf2.c: Likewise.
24098         * tests/test-floorf1.c: Likewise.
24099         * tests/test-floorf2.c: Likewise.
24100         * tests/test-frexp.c: Likewise.
24101         * tests/test-round1.c: Likewise.
24102         * tests/test-round2.c: Likewise.
24103         * tests/test-roundf1.c: Likewise.
24104         * tests/test-strtod.c: Likewise.
24105         * tests/test-trunc1.c: Likewise.
24106         * tests/test-trunc2.c: Likewise.
24107         * tests/test-truncf1.c: Likewise.
24108         * tests/test-truncf2.c: Likewise.
24109         * NEWS: Mention the renamed header files.
24110
24111 2008-07-11  Jim Meyering  <meyering@redhat.com>
24112
24113         vc-list-files: make the last-resort awk code more portable
24114         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24115         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24116         does not support it.
24117
24118 2008-07-10  Eric Blake  <ebb9@byu.net>
24119
24120         Work with tar's bootstrap.
24121         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24122         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24123         an m4 comment.
24124
24125 2008-07-09  Jim Meyering  <meyering@redhat.com>
24126
24127         posix-shell.m4: fix typo that made this test malfunction
24128         * m4/posix-shell.m4: Remove capitalization in variable name.
24129
24130 2008-07-08  Bruno Haible  <bruno@clisp.org>
24131
24132         * m4/onceonly.m4: Update comments.
24133         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24134
24135 2008-07-04  Jim Meyering  <meyering@redhat.com>
24136
24137         * users.txt: Add vc-dwim.
24138         (bison, coreutils): Use the gitweb URL.
24139
24140 2008-07-03  Jim Meyering  <meyering@redhat.com>
24141
24142         * users.txt: Add libffcall.  From Sam Steingold.
24143
24144 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
24145
24146         getdate.y: do not ignore TZ with relative day, month or year offset
24147         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24148         relative-date-handling, since otherwise, the latter would clobber the
24149         sole output (an updated Start value) of the tz-handling block.
24150         * tests/test-getdate.c: Tests for the fix
24151
24152 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24153
24154         Recognize 'foo_LIBRARIES += libgnu.a'.
24155         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24156         makefile snippet has already specified an installation location,
24157         also using '+='.
24158
24159 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
24160
24161         getdate.y: factor out common actions
24162         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
24163         Use them in place of open-coded actions.
24164
24165 2008-07-01  Simon Josefsson  <simon@josefsson.org>
24166
24167         Add self-test for getdate module.
24168         * modules/getdate-tests: New file.
24169         * tests/test-getdate.c: New file.
24170
24171 2008-06-29  Bruno Haible  <bruno@clisp.org>
24172
24173         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
24174         .gitignore.
24175         Reported by Sylvain Beucler <beuc@beuc.net>.
24176
24177 2008-06-29  Bruno Haible  <bruno@clisp.org>
24178
24179         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
24180         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
24181
24182 2008-06-29  Bruno Haible  <bruno@clisp.org>
24183
24184         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
24185         EXTRA_DIST.
24186         Reported by Sylvain Beucler <beuc@beuc.net>.
24187
24188 2008-06-26  Jim Meyering  <meyering@redhat.com>
24189
24190         make several modules depend on the "open" module
24191         This provides slightly increased consistency when opening-for-write
24192         the name of a non-directory spelled with a trailing slash.
24193         * modules/chdir-safer: Likewise.
24194         * modules/chown: Likewise.
24195         * modules/clean-temp: Likewise.
24196         * modules/copy-file: Likewise.
24197         * modules/fchdir: Likewise.
24198         * modules/fcntl-safer: Likewise.
24199         * modules/pipe: Likewise.
24200         * modules/utime: Likewise.
24201         Prompted by Eric Blake and Bruno Haible.
24202
24203 2008-06-24  Andreas Schwab  <schwab@suse.de>
24204
24205         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24206         literals can be used as initializers for global variables.
24207
24208 2008-06-23  Eric Blake  <ebb9@byu.net>
24209
24210         Make gnulib-cache.m4 easier to diff.
24211         * gnulib-tool (func_import): Allow newlines when reading cached
24212         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24213
24214 2008-06-23  Bruno Haible  <bruno@clisp.org>
24215
24216         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24217         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24218         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24219         m4/signalblocking.m4.
24220         (gl_PREREQ_SIGACTION): Don't invoke it.
24221         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24222         gl_PREREQ_SIG_HANDLER_H.
24223         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24224         Don't check for sigaction here.
24225
24226 2008-06-23  Bruno Haible  <bruno@clisp.org>
24227
24228         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24229         (install_handlers): Don't set the SA_RESETHAND flag.
24230
24231 2008-06-23  Bruno Haible  <bruno@clisp.org>
24232
24233         * m4/sigaction.m4: Comment fixes.
24234         * lib/signal.in.h: Likewise.
24235
24236 2008-06-23  Eric Blake  <ebb9@byu.net>
24237
24238         Fix typo.
24239         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24240
24241         Avoid SA_ namespace.
24242         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24243         Reported by Ralf Wildenhues.
24244
24245         Avoid test failure due to SA_RESTORER.
24246         * tests/test-sigaction.c (SA_MASK): New macro.
24247         (main): Avoid failing due to extension flags being set.
24248         Reported by Jim Meyering.
24249
24250         Revert use of sig-handler.h in sigprocmask.c.
24251         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24252         it requires the existence of struct sigaction.
24253         * lib/sigprocmask.c (handler_t): Restore typedef.
24254         (rpl_signal, old_handlers): Use local type.
24255
24256 2008-06-22  Bruno Haible  <bruno@clisp.org>
24257
24258         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24259         conditionally.
24260         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24261
24262 2008-06-22  Bruno Haible  <bruno@clisp.org>
24263
24264         * doc/posix-functions/siginterrupt.texi: Move note.
24265
24266         * lib/signal.in.h (SA_RESTART): New macro.
24267         * lib/sigaction.c: Update comment.
24268
24269         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24270
24271         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24272         (gl_PREREQ_SIGPROCMASK): Invoke it.
24273         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24274
24275         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24276
24277         * lib/sigprocmask.c: Update a comment.
24278
24279 2008-06-21  Eric Blake  <ebb9@byu.net>
24280
24281         Use sigaction module rather than signal().
24282         * modules/c-stack (Depends-on): Add sigaction.
24283         * modules/fatal-signal (Depends-on): Likewise.
24284         * modules/nanosleep (Depends-on): Likewise.
24285         * modules/sigprocmask (Files): Add sig-handler.h.
24286         * modules/sigaction (Files): Likewise.
24287         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24288         Eggert.
24289         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24290         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24291         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24292         (init_fatal_signals): Likewise.
24293         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24294         (siginterrupt): Delete fallback.
24295         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24296         instead.
24297         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24298         siginterrupt.
24299
24300         New module sigaction, for mingw.
24301         * modules/sigaction: New module...
24302         * modules/sigaction-tests: ...and its test.
24303         * m4/sigaction.m4: New file.
24304         * lib/sigaction.c: Likewise.
24305         * tests/test-sigaction.c: Likewise.
24306         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24307         * modules/signal (Makefile.am): Likewise.
24308         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24309         needed.
24310         * doc/posix-headers/signal.texi (signal.h): Mention provided
24311         types.
24312         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24313         that sigaction is preferable.
24314         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24315         module.
24316         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24317         sigaction.
24318
24319         Improve robustness of sigprocmask by overriding signal.
24320         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24321         is in use.
24322         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24323         (SIGKILL, SIGSTOP): Provide fallbacks.
24324         (rpl_signal): Implement.
24325         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24326         signal can be called inside handlers.
24327
24328         Fix nanosleep module on mingw.
24329         * modules/nanosleep (Depends-on): Add sys_select.
24330         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24331
24332         Fix licensing of sigprocmask.
24333         * modules/raise (License): Relicense as LGPL.
24334
24335 2008-06-21  Bruno Haible  <bruno@clisp.org>
24336
24337         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24338         result if it contains question marks.
24339         Reported by Michael Geng <linux@michaelgeng.de>.
24340
24341 2008-06-19  Bruno Haible  <bruno@clisp.org>
24342
24343         Fix CVS-ism.
24344         * doc/gnulib.texi: Include updated-stamp.texi.
24345         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24346         (updated-stamp.texi): New rule.
24347         (gnulib.info): Depend on it.
24348         * doc/.gitignore: Add updated-stamp.texi.
24349         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24350
24351 2008-06-19  Bruno Haible  <bruno@clisp.org>
24352
24353         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24354         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24355
24356 2008-06-19  Eric Blake  <ebb9@byu.net>
24357
24358         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24359         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24360         Reported by Stepan Kasal.
24361
24362 2008-06-18  Bruno Haible  <bruno@clisp.org>
24363
24364         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24365         Reported by Eric Blake.
24366
24367 2008-06-18  Eric Blake  <ebb9@byu.net>
24368
24369         Work around cygwin 1.5.25 strsignal bug.
24370         * tests/test-strsignal.c: Allow for const char *.
24371         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24372
24373 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24374
24375         * users.txt: Update URL to article and add author/date
24376         information.
24377
24378 2008-06-17  Bruno Haible  <bruno@clisp.org>
24379
24380         New macro gl_DISABLE_THREADS.
24381         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24382         if the user did not pass --enable-threads or --disable-threads option.
24383         (gl_DISABLE_THREADS): New macro.
24384         Reported by Eric Blake <ebb9@byu.net>.
24385
24386 2008-06-17  Bruno Haible  <bruno@clisp.org>
24387
24388         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24389         when the macro ignores it.
24390         Based on a patch by Eric Blake <ebb9@byu.net>.
24391
24392 2008-06-17  Bruno Haible  <bruno@clisp.org>
24393
24394         * modules/tls (License): Change to LGPLv2+.
24395         Reported by Eric Blake.
24396
24397 2008-06-17  Eric Blake  <ebb9@byu.net>
24398
24399         Simplify c-stack prerequisites.
24400         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24401         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24402         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24403         check.
24404         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24405         <sys/resource.h>.
24406
24407         Move c-stack test into testsuite.
24408         * modules/c-stack-tests: New file.
24409         * lib/c-stack.c [DEBUG]: Move test program...
24410         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24411         fail test if sigaltstack is lacking.
24412         * tests/test-c-stack.sh: New driver file.
24413
24414 2008-06-16  Eric Blake  <ebb9@byu.net>
24415
24416         Use raise module consistently.
24417         * modules/fatal-signal (Depends-on): Add raise.
24418         * modules/sigprocmask (Depends-on): Likewise.
24419         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24420         * lib/sigprocmask.c (sigprocmask): Likewise.
24421         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24422         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24423
24424         Fix compliance bug in sigpending.
24425         * lib/sigprocmask.c (sigpending): Return pending array via
24426         parameter, not return value.
24427
24428 2008-06-14  Eric Blake  <ebb9@byu.net>
24429
24430         Improve obstack-printf test code.
24431         * tests/test-obstack-printf.c (test_function): Fix comment, and
24432         simplify usage of obstack_* in macros.  Add a test for coverage.
24433         Reported by Bruno Haible.
24434
24435 2008-06-14  Bruno Haible  <bruno@clisp.org>
24436
24437         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24438         array size as a constant, not as a const variable.
24439         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24440         AC_USE_SYSTEM_EXTENSIONS.
24441         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24442         Test whether the obstack_printf function actually exists.
24443         * modules/obstack-printf (Depends-on): Add extensions.
24444         (Include): Remove obstack.h.
24445         * modules/obstack-printf-posix (Depends-on): Add extensions.
24446         (Include): Remove obstack.h.
24447
24448 2008-06-13  Eric Blake  <ebb9@byu.net>
24449
24450         Add obstack-printf and obstack-printf-posix modules.
24451         * modules/obstack-printf: New file.
24452         * modules/obstack-printf-posix: Likewise.
24453         * MODULES.html.sh (Misc): Mention them.
24454         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24455         Likewise.
24456         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24457         Likewise.
24458         * modules/stdio (Makefile.am): Accomodate new modules.
24459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24460         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24461         Declare.
24462         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24463         functions.
24464         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24465         (gl_REPLACE_OBSTACK_PRINTF): New macros
24466         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24467         * tests/test-obstack-printf.c: New file.
24468         * modules/obstack-printf-tests: Likewise.
24469         * modules/obstack-printf-posix-tests: Likewise.
24470
24471 2008-06-11  Bruno Haible  <bruno@clisp.org>
24472
24473         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24474         * lib/open.c: Include errno.h.
24475         (open): Fail when attempting to write to a file that has a trailing
24476         slash.
24477         * tests/test-open.c (main): Test against trailing slash bug.
24478         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24479
24480 2008-06-10  Bruno Haible  <bruno@clisp.org>
24481
24482         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24483         for $? to work inside the trap command, with various /bin/sh-s.
24484         * tests/test-vc-list-files-cvs.sh: Likewise.
24485
24486 2008-06-10  Bruno Haible  <bruno@clisp.org>
24487
24488         * lib/acl-internal.h: Don't include gettext.h here.
24489         * lib/set-mode-acl.c: Include gettext.h here.
24490         * lib/copy-acl.c: Likewise.
24491
24492 2008-06-10  Bruno Haible  <bruno@clisp.org>
24493
24494         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24495         * lib/wait-process.c (wait_subprocess): Likewise.
24496         * lib/execute.h (execute): Add termsigp argument.
24497         * lib/execute.c (execute): Likewise.
24498         * lib/csharpcomp.c (compile_csharp_using_pnet,
24499         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24500         * lib/csharpexec.c (execute_csharp_using_pnet,
24501         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24502         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24503         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24504         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24505         is_jikes_present): Update.
24506         * lib/javaexec.c (execute_java_class): Update.
24507         * lib/javaversion.c (execute_and_read_line): Update.
24508         * NEWS: Document the changes.
24509         Reported by Eric Blake.
24510
24511 2008-06-10  Eric Blake  <ebb9@byu.net>
24512
24513         Add missing include.
24514         * tests/test-strstr.c (includes): Add <signal.h>.
24515         * tests/test-strcasestr.c (includes): Likewise.
24516         * tests/test-memmem.c (includes): Likewise.
24517
24518 2008-06-10  Bruno Haible  <bruno@clisp.org>
24519
24520         * lib/wait-process.c (wait_subprocess): Add an assertion.
24521
24522 2008-06-10  Bruno Haible  <bruno@clisp.org>
24523
24524         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24525
24526 2008-06-10  Bruno Haible  <bruno@clisp.org>
24527
24528         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24529         using alarm().
24530         * tests/test-strcasestr.c (main): Likewise.
24531         * tests/test-strstr.c (main): Likewise.
24532
24533 2008-06-09  Bruno Haible  <bruno@clisp.org>
24534
24535         Work around the Solaris 10 ACE ACLs ABI change.
24536         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24537         declare if ACL_NO_TRIVIAL is present.
24538         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24539         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24540         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24541         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24542         define if ACL_NO_TRIVIAL is present.
24543         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24544         and use the current ABI.
24545         (file_has_acl): Use same #if condition as elsewhere.
24546         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24547         in use, and use the current ABI.
24548         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24549         Reported by Jim Meyering.
24550
24551 2008-06-09  Eric Blake  <ebb9@byu.net>
24552
24553         Work around environments that (stupidly) ignore SIGALRM.
24554         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24555         before using alarm().
24556         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24557         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24558         Reported by Ian Beckwith <ianb@erislabs.net>.
24559
24560         Produce autobuild blurb earlier in log.
24561         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24562
24563 2008-06-09  Jim Meyering  <meyering@redhat.com>
24564         and Ondřej Vašík  <ovasik@redhat.com>
24565
24566         utimens.c: correct kernel bug work-around
24567         Ondřej Vašík found that the invalid return value of 280 indicates
24568         failure, not success, and the kernel bug we're trying to work
24569         around affects not just the utimensat call, but also the fallback
24570         futimens call.
24571         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24572         not success.
24573         [HAVE_FUTIMENS]: Use the same work-around, here.
24574
24575 2008-06-09  Jim Meyering  <meyering@redhat.com>
24576
24577         add more guards around definition of ACE_-related code
24578         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24579         ALLOW and ACE_OWNER are also defined.
24580
24581 2008-06-08  Bruno Haible  <bruno@clisp.org>
24582
24583         * lib/acl-internal.h: Add me as co-author.
24584         * lib/file-has-acl.c: Likewise.
24585         * lib/set-mode-acl.c: Likewise.
24586         * lib/copy-acl.c: Likewise.
24587
24588 2008-06-08  Bruno Haible  <bruno@clisp.org>
24589
24590         Add support for AIX ACLs.
24591         * lib/acl-internal.h (acl_nontrivial): New declaration.
24592         * lib/file-has-acl.c (acl_nontrivial): New function.
24593         (file_has_acl): Add implementation using AIX 4 ACL API.
24594         * lib/set-mode-acl.c (qset_acl): Likewise.
24595         * lib/copy-acl.c (qcopy_acl): Likewise.
24596
24597 2008-06-08  Bruno Haible  <bruno@clisp.org>
24598
24599         Add support for HP-UX ACLs.
24600         * lib/acl-internal.h (acl_nontrivial): New declaration.
24601         * lib/file-has-acl.c (acl_nontrivial): New function.
24602         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24603         * lib/set-mode-acl.c (qset_acl): Likewise.
24604         * lib/copy-acl.c (qcopy_acl): Likewise.
24605
24606 2008-06-08  Bruno Haible  <bruno@clisp.org>
24607
24608         Add support for Cygwin ACLs.
24609         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24610         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24611         the chmod_or_fchmod call.
24612         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24613
24614 2008-06-08  Bruno Haible  <bruno@clisp.org>
24615
24616         Fix bug with setuid modes in Solaris 10+ code.
24617         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24618         succeeded, when the mode contains some special bits.
24619
24620 2008-06-08  Bruno Haible  <bruno@clisp.org>
24621
24622         Add support for Solaris 7..10 ACLs.
24623         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24624         declarations.
24625         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24626         functions.
24627         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24628         * lib/set-mode-acl.c (qset_acl): Likewise.
24629         * lib/copy-acl.c (qcopy_acl): Likewise.
24630
24631 2008-06-08  Bruno Haible  <bruno@clisp.org>
24632
24633         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24634         declaration.
24635         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24636         (acl_access_nontrivial): Remove MacOS X case.
24637         (file_has_acl): Use acl_extended_nontrivial.
24638         * lib/copy-acl.c (qcopy_acl): Likewise.
24639
24640 2008-06-08  Bruno Haible  <bruno@clisp.org>
24641
24642         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
24643
24644 2008-06-08  Jim Meyering  <meyering@redhat.com>
24645
24646         * modules/acl (Maintainer): Add Bruno Haible.
24647
24648 2008-06-07  Bruno Haible  <bruno@clisp.org>
24649
24650         Improve support for Tru64 ACLs.
24651         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
24652         ACL on OSF/1.
24653
24654 2008-06-07  Bruno Haible  <bruno@clisp.org>
24655
24656         Add support for MacOS X ACLs.
24657         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
24658         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
24659         * lib/set-mode-acl.c (qset_acl): Likewise.
24660         * lib/copy-acl.c (qcopy_acl): Likewise.
24661
24662 2008-06-07  Bruno Haible  <bruno@clisp.org>
24663
24664         Fix memory leak introduced on 2008-05-22.
24665         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
24666         use.
24667
24668 2008-06-07  Bruno Haible  <bruno@clisp.org>
24669
24670         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
24671         to construct an empty ACL.
24672
24673 2008-06-07  Bruno Haible  <bruno@clisp.org>
24674
24675         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
24676         precisely.
24677         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
24678
24679 2008-06-07  Bruno Haible  <bruno@clisp.org>
24680
24681         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
24682         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
24683
24684 2008-06-07  Bruno Haible  <bruno@clisp.org>
24685
24686         * doc/posix-functions/_setjmp.texi: Explain the use of this function
24687         regardless of POSIX.
24688         * doc/posix-functions/_longjmp.texi: Likewise.
24689         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
24690         SystemV platform in this case.
24691
24692 2008-06-06  Eric Blake  <ebb9@byu.net>
24693
24694         Document abort() bugs.
24695         * doc/posix-functions/abort.texi (abort): Mention anomalies.
24696
24697         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
24698         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
24699         sigsetjmp.
24700         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
24701         siglongjmp, but only as a macro.
24702         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
24703         is obsolete.
24704         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
24705
24706         Tweak documentation to cover cygwin argz bugs.
24707         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
24708         argz bug fix; no code change needed since no cygwin releases
24709         occurred between the last fix and the bug being tested.
24710         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
24711         module and recently fixed cygwin bugs.
24712         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
24713         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
24714         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
24715         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
24716         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
24717         Likewise.
24718         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
24719         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
24720         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
24721         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
24722         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
24723         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
24724         Likewise.
24725
24726         Avoid gcc warning on cygwin.
24727         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
24728         !ACL_NO_TRIVIAL]: Avoid unused variable.
24729
24730 2008-06-05  Eric Blake  <ebb9@byu.net>
24731
24732         Be tolerant of UNKNOWN version in gnulib-tool test dir.
24733         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
24734         git-version-gen fails to come up with a version.
24735         Reported by Simon Josefsson.
24736
24737 2008-06-05  Jim Meyering  <meyering@redhat.com>
24738             Paul Eggert  <eggert@cs.ucla.edu>
24739
24740         utimens.c: work around a probable Linux kernel bug
24741         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
24742         appears to be a kernel bug that causes utimensat to return 280
24743         instead of 0, indicating success.
24744
24745 2008-06-04  Bruno Haible  <bruno@clisp.org>
24746
24747         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
24748         2008-06-01 commit.
24749
24750 2008-06-04  Bruno Haible  <bruno@clisp.org>
24751
24752         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
24753         * lib/file-has-acl.c (acl_access_nontrivial): New function.
24754         (file_has_acl): Use it. Save errno afterwards.
24755         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
24756
24757 2008-06-03  Bruno Haible  <bruno@clisp.org>
24758
24759         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
24760         draft code. Simplify #ifs.
24761         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
24762         Put Solaris code after POSIX-draft code. Fix comments regarding
24763         Solaris 10, HP-UX. Mention Cygwin.
24764         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
24765
24766 2008-06-03  Eric Blake  <ebb9@byu.net>
24767
24768         Provide fallback for older kernels.
24769         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
24770         Provide runtime fallback if kernel lacks support.
24771         Reported by Mike Frysinger.
24772
24773 2008-06-02  Bruno Haible  <bruno@clisp.org>
24774
24775         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
24776         it exists.
24777
24778 2008-06-02  Bruno Haible  <bruno@clisp.org>
24779
24780         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
24781         * lib/copy-acl.c (qcopy_acl): Update comment.
24782
24783 2008-06-02  Bruno Haible  <bruno@clisp.org>
24784
24785         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
24786         like ACL APIs.
24787
24788 2008-06-02  Bruno Haible  <bruno@clisp.org>
24789
24790         * tests/test-file-has-acl.sh: Use different code for Cygwin.
24791         * tests/test-set-mode-acl.sh: Likewise.
24792         * tests/test-copy-acl.sh: Likewise.
24793         * tests/test-copy-file.sh: Likewise.
24794
24795 2008-06-02  Bruno Haible  <bruno@clisp.org>
24796
24797         * tests/test-file-has-acl.sh: Remove unused code.
24798
24799 2008-06-01  Bruno Haible  <bruno@clisp.org>
24800
24801         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
24802         (copy_acl): Just a wrapper around qcopy_acl that emits the error
24803         messages.
24804         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
24805
24806 2008-06-01  Bruno Haible  <bruno@clisp.org>
24807
24808         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
24809         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
24810         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
24811         APIs.
24812         * modules/acl-tests (configure.ac): Remove tests now contained in
24813         m4/acl.m4.
24814
24815 2008-06-02  Jim Meyering  <meyering@redhat.com>
24816
24817         announce-gen: use a better key-server host name
24818         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
24819         it may be more consistently reliable.  Suggested by Werner Koch
24820         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
24821
24822 2008-06-01  Bruno Haible  <bruno@clisp.org>
24823
24824         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
24825         Reported by Voroskoi Andras <voroskoi@gmail.com>.
24826
24827 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
24828
24829         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
24830
24831 2008-06-01  Bruno Haible  <bruno@clisp.org>
24832
24833         New ACL tests.
24834         * tests/test-file-has-acl.sh: New file.
24835         * tests/test-file-has-acl.c: New file.
24836         * tests/test-set-mode-acl.sh: New file.
24837         * tests/test-set-mode-acl.c: New file.
24838         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
24839         * tests/test-copy-acl.c: New file.
24840         * modules/acl-tests: New file, based on modules/copy-file-tests.
24841         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
24842         (Depends-on): Add acl-tests.
24843         (configure.ac): Remove checks.
24844         (Makefile.am): Don't create test-sameacls program here any more.
24845
24846 2008-06-01  Bruno Haible  <bruno@clisp.org>
24847
24848         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
24849         * tests/test-sameacls.c: Include progname.h.
24850         (main): Invoke set_program_name. Portability fixes for MacOS X,
24851         Solaris, HP-UX.
24852
24853 2008-06-01  Bruno Haible  <bruno@clisp.org>
24854
24855         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
24856         function.
24857         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
24858
24859 2008-06-01  Bruno Haible  <bruno@clisp.org>
24860
24861         * modules/rpmatch (Depends-on): Add strdup.
24862
24863 2008-06-01  Bruno Haible  <bruno@clisp.org>
24864
24865         * lib/pipe.c: Include unistd-safer.h.
24866         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
24867         * modules/pipe (Depends-on): Add unistd-safer.
24868
24869 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24870
24871         * modules/autobuild (configure.ac): Call AB_INIT.
24872
24873 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24874
24875         * tests/test-getaddrinfo.c: Don't print debug messages by default.
24876         Suggested by Bruno Haible <bruno@clisp.org>.
24877
24878 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24879
24880         * tests/test-base64.c: Cast size_t to unsigned long when invoking
24881         printf.  Use %lu instead of %d.  Reported by Bruno Haible
24882         <bruno@clisp.org>.
24883
24884 2008-05-29  Eric Blake  <ebb9@byu.net>
24885
24886         Prefer new POSIX 200x interfaces over futimesat.
24887         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
24888         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
24889         when available.
24890         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
24891
24892 2008-05-28  Bruno Haible  <bruno@clisp.org>
24893
24894         * modules/stpcpy (License): Change to LGPLv2+.
24895         Requested by David Lutterkort <dlutter@redhat.com>.
24896
24897 2008-05-27  Bruno Haible  <bruno@clisp.org>
24898
24899         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
24900         current mingw.
24901         Reported by Jose E. Marchesi <jemarch@gnu.org>.
24902
24903 2008-05-27  Bruno Haible  <bruno@clisp.org>
24904
24905         * modules/iconv_open (Link): New section, from module 'iconv'.
24906         * modules/striconv (Link): Likewise.
24907         * modules/striconveh (Link): Likewise.
24908         * modules/xstriconv (Link): Likewise.
24909         * modules/unicodeio (Link): Likewise.
24910         * modules/propername (Link): Likewise.
24911         Reported by Jim Meyering.
24912
24913 2008-05-26  Jim Meyering  <meyering@redhat.com>
24914
24915         sha256: do not artificially restrict buffer length to be < 2^32
24916         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
24917         uint32_t to size_t.
24918         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
24919         to match.
24920
24921         avoid unaligned access errors, e.g., on sparc
24922         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
24923         direct access through a possibly-unaligned uint64* pointer.
24924         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
24925         direct access through a possibly-unaligned uint32* pointer.
24926         Prompted by this patch from Tom "spot" Callaway:
24927         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
24928
24929         sha512.c: fix typo in comment
24930         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
24931
24932 2008-05-25  Bruno Haible  <bruno@clisp.org>
24933
24934         * lib/set-mode-acl.c: Renamed from lib/acl.c.
24935         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
24936         (Makefile.am): Update lib_SOURCES.
24937
24938 2008-05-25  Bruno Haible  <bruno@clisp.org>
24939
24940         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
24941
24942 2008-05-25  Jim Meyering  <meyering@redhat.com>
24943
24944         useless-if-before-free: freed expr may have white-space differences
24945         * build-aux/useless-if-before-free: Recognize cases in which the
24946         freed expression differs from the tested one in embedded white
24947         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
24948         $1 was used, so we can't make any regexp shy.  Improved tests now
24949         detect this.
24950
24951         useless-if-before-free: accept white space in the expression.
24952         * build-aux/useless-if-before-free: For now, any white space
24953         in the expression must be identical in the free argument.
24954
24955         useless-if-before-free: efficiency tweak
24956         * build-aux/useless-if-before-free: Make the expression-matching
24957         regexp "shy".
24958         Make the *outer* regexp shy, not the expr-matching one.
24959
24960         update code-in-comment to accept cast of free arg
24961         * build-aux/useless-if-before-free: Update regexp.
24962
24963 2008-05-25  Bruno Haible  <bruno@clisp.org>
24964
24965         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
24966         * modules/copy-file-tests (Files, Makefile.am): Update.
24967         * tests/test-copy-file.c (func_test_copy): Update.
24968
24969 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
24970
24971         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
24972
24973 2008-05-23  Bruno Haible  <bruno@clisp.org>
24974
24975         Improve support for ACLs on OSF/1.
24976         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
24977         Remove fallback for unknown flavors of ACLs.
24978
24979 2008-05-22  Bruno Haible  <bruno@clisp.org>
24980
24981         Add support for ACLs on OSF/1.
24982         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
24983         replacements.
24984         (acl_free_text): New macro fallback.
24985         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
24986         acl_free.
24987         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
24988         acl_free_text function. Require AC_C_INLINE.
24989
24990 2008-05-22  Bruno Haible  <bruno@clisp.org>
24991
24992         Make copy_acl work on MacOS X 10.5.
24993         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
24994         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
24995         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
24996         If MODE_INSIDE_ACL, don't assume that every system has the same text
24997         representation for ACLs as FreeBSD.
24998         * lib/copy-acl.c (copy_acl): Add support for platforms with
24999         !MODE_INSIDE_ACL.
25000         * lib/file-has-acl.c (file_has_acl): Likewise.
25001         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25002         FreeBSD, MacOS X, or IRIX, respectively.
25003
25004 2008-05-22  Bruno Haible  <bruno@clisp.org>
25005
25006         * lib/acl.h: Don't include <sys/acl.h>.
25007         (GETACLCNT): Move fallback to lib/acl-internal.h.
25008         * lib/acl-internal.h: Include <sys/acl.h> here.
25009         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25010
25011 2008-05-22  Bruno Haible  <bruno@clisp.org>
25012
25013         Split off copy_acl function to separate file.
25014         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25015         * lib/acl.c (copy_acl): Moved function to separate file.
25016         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25017         * modules/acl (Files): Add lib/copy-acl.c.
25018         (Makefiles.am): Augment lib_SOURCES.
25019
25020 2008-05-22  Bruno Haible  <bruno@clisp.org>
25021
25022         * modules/copy-file-tests: New file.
25023         * tests/test-copy-file.sh: New file.
25024         * tests/test-copy-file.c: New file.
25025         * tests/test-copy-file-sameacls.c: New file.
25026
25027 2008-05-22  Eric Blake  <ebb9@byu.net>
25028
25029         Avoid gcc warning.
25030         * tests/test-memcmp.c (main): Pass NULL indirectly.
25031
25032 2008-05-21  Bruno Haible  <bruno@clisp.org>
25033
25034         Add reference doc about ACLs.
25035         * doc/acl-resources.txt: New file.
25036         * doc/acl-cygwin.txt: New file.
25037
25038 2008-05-21  Bruno Haible  <bruno@clisp.org>
25039
25040         Avoid one more warning from gcc.
25041         * lib/vasnprintf.c (IF_LINT): Update comments.
25042         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25043
25044 2008-05-21  Jim Meyering  <meyering@redhat.com>
25045
25046         avoid a warning from gcc
25047         * lib/vasnprintf.c (IF_LINT): Define.
25048         (scale10_round_decimal_long_double):
25049         Use it to avoid a "may be used uninitialized" warning.
25050         (scale10_round_decimal_double): Likewise.
25051
25052 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25053
25054         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25055         declared.
25056
25057 2008-05-20  Bruno Haible  <bruno@clisp.org>
25058
25059         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25060         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25061
25062 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25063
25064         * modules/memcmp-tests: New file.
25065         * tests/test-memcmp.c: New file.
25066
25067 2008-05-19  Bruno Haible  <bruno@clisp.org>
25068
25069         * modules/propername (Notice, configure.ac): Put quoted "..." into
25070         --keyword option.
25071         * lib/propername.h: Update comments accordingly.
25072         Reported by Eric Blake.
25073
25074 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25075
25076         * modules/getpass-gnu (Depends-on): Add fseeko.
25077
25078 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25079
25080         * modules/base64-tests: New file.
25081
25082 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25083
25084         * lib/base64.c (base64_decode_ctx): If a decode context structure
25085         was passed in use it to ignore newlines.  If a context structure
25086         was _not_ passed in, continue to treat newlines as garbage (this
25087         is the historical behavior).  Formerly base64_decode.
25088         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25089         takes a decode context structure.
25090         * lib/base64.h (base64_decode): Macro for four-argument calls.
25091         (base64_decode_alloc): Likewise.
25092         * lib/base64.c (base64_decode_ctx): If a decode context structure
25093         was passed in use it to ignore newlines.  If a context structure
25094         was _not_ passed in, continue to treat newlines as garbage (this
25095         is the historical behavior).  Formerly base64_decode.
25096         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25097         takes a decode context structure.
25098         * lib/base64.h (base64_decode): Macro for four-argument calls.
25099         (base64_decode_alloc): Likewise.
25100
25101 2008-05-19  Jim Meyering  <meyering@redhat.com>
25102
25103         avoid a warning from gcc
25104         * lib/trim.c (IF_LINT): Define.
25105         (trim2): Use it to avoid a "may be used uninitialized" warning.
25106
25107         Fix doc typo.
25108         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25109
25110 2008-05-19  Bruno Haible  <bruno@clisp.org>
25111
25112         * doc/glibc-functions/getpass.texi: Document limits of other
25113         implementations.
25114
25115 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25116             Bruno Haible <bruno@clisp.org>
25117
25118         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25119
25120 2008-05-18  Bruno Haible  <bruno@clisp.org>
25121
25122         * modules/propername: New file, from GNU gettext.
25123         * lib/propername.h: New file, from GNU gettext.
25124         * lib/propername.c: New file, from GNU gettext.
25125         * MODULES.html.sh (Internationalization functions): Add propername.
25126
25127 2008-05-16  Jim Meyering  <meyering@redhat.com>
25128             Bruno Haible  <bruno@clisp.org>
25129
25130         Avoid some warnings from "gcc -Wshadow".
25131         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25132
25133 2008-05-15  Eric Blake  <ebb9@byu.net>
25134
25135         Extend previous patch to cygwin 1.7.0.
25136         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25137         fast implementation in cygwin >= 1.7.0.
25138         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25140
25141 2008-05-15  Bruno Haible  <bruno@clisp.org>
25142
25143         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25144         implementation in glibc >= 2.9.
25145         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25146         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25147
25148 2008-05-15  Bruno Haible  <bruno@clisp.org>
25149
25150         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25151         (Unicode string functions): Add unilbrk/*.
25152         Reported by Karl Berry.
25153
25154 2008-05-15  Eric Blake  <ebb9@byu.net>
25155
25156         Fix violation of <stdbool.h> replacement in regex.
25157         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
25158         * lib/regexec.c (re_search_internal): Likewise.
25159         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
25160
25161 2008-05-15  Jim Meyering  <meyering@redhat.com>
25162
25163         avoid distracting test output when git or cvs is not found
25164         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
25165         * tests/test-vc-list-files-git.sh: Likewise.
25166
25167 2008-05-15  Eric Blake  <ebb9@byu.net>
25168
25169         Glibc finally accepted the memmem speedup code, bugzilla #5514.
25170         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
25171         glibc version.
25172         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25173         * doc/posix-functions/strstr.texi (strstr): Likewise.
25174         * lib/str-two-way.h (MAX): Sychronize with glibc.
25175
25176 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
25177
25178         * lib/regcomp.c (optimize_utf8): Add a note on why we test
25179         opr.ctx_type.
25180         (calc_first): Initialize constraint field.
25181         (duplicate_node_closure): Use it instead of special casing ANCHORS.
25182         Fix grammar.
25183         (duplicate_node): Merge constraint field for all node types.
25184         (calc_eclosure_iter): Look at constraint field for all node types.
25185         * lib/regex_internal.c (create_cd_newstate): Don't look at
25186         opr.ctx_type.
25187
25188 2008-05-14  Bruno Haible  <bruno@clisp.org>
25189
25190         Help GCC to do better code generation.
25191         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25192         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25193         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25194         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25195         Declare with attribute 'malloc' if supported.
25196
25197 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25198
25199         use "echo STR|wc -c" rather than unportable "expr length STR"
25200         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25201         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25202
25203 2008-05-14  Jim Meyering  <meyering@redhat.com>
25204
25205         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25206         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25207         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25208         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25209         via Collin Lasse.
25210
25211 2008-05-14  Eric Blake  <ebb9@byu.net>
25212
25213         Avoid quadratic growth in gl_LIBSOURCES.
25214         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25215         Suggested by Bruno Haible.
25216
25217         Test xmemdup0.
25218         * modules/xmemdup0-tests: New file.
25219         * tests/test-xmemdup0.c: Likewise.
25220
25221 2008-05-13  Eric Blake  <ebb9@byu.net>
25222
25223         Split xmemdup0 into its own module.
25224         * modules/xmemdup0: New file.
25225         * lib/xmemdup0.h: Likewise.
25226         * lib/xmemdup0.c: Likewise.
25227         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25228         * lib/xalloc.h (xmemdup0): Remove.
25229         * lib/xmalloc.c (xmemdup0): Likewise.
25230
25231 2008-05-13  Eric Blake  <ebb9@byu.net>
25232             Bruno Haible  <bruno@clisp.org>
25233
25234         Reduce number of forks required during autoconf.
25235         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25236         and gl_LIBSOURCES_DIR.
25237         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25238         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25239         m4_syscmd per file.
25240         <m4_foreach_w>: Move...
25241         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25242
25243 2008-05-13  Eric Blake  <ebb9@byu.net>
25244
25245         * gnulib-tool: Fix various comment typos.
25246
25247 2008-05-12  Bruno Haible  <bruno@clisp.org>
25248
25249         Tailor the linebreaking algorithm.
25250         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25251
25252 2008-05-12  Bruno Haible  <bruno@clisp.org>
25253
25254         Update to Unicode 5.0.0.
25255         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25256         LBP_JV, LBP_JT. Redistribute values.
25257         (unilbrk_table): Change size.
25258         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25259         Unicode TR#14 rev. 22.
25260         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25261         LBP_JV, LBP_JT. Redistribute values.
25262         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25263         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25264         Update.
25265         * lib/unilbrk/lbrkprop1.h: Regenerated.
25266         * lib/unilbrk/lbrkprop2.h: Regenerated.
25267         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25268         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25269         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25270         Likewise.
25271         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25272         Likewise.
25273         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25274         result.
25275         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25276         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25277         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25278         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25279         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25280         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25281
25282 2008-05-11  Bruno Haible  <bruno@clisp.org>
25283
25284         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25285
25286 2008-05-11  Bruno Haible  <bruno@clisp.org>
25287
25288         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25289         * modules/unilbrk/gen-lbrk: New file.
25290
25291 2008-05-11  Bruno Haible  <bruno@clisp.org>
25292
25293         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25294         * m4/sha512.m4 (gl_SHA512): Likewise.
25295
25296 2008-05-11  Jim Meyering  <meyering@redhat.com>
25297
25298         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25299         * modules/crypto/sha256: New file.
25300         * modules/crypto/sha512: Likewise.
25301         * lib/sha256.c: Likewise.
25302         * lib/sha256.h: Likewise.
25303         * lib/sha512.c: Likewise.
25304         * lib/sha512.h: Likewise.
25305         * lib/u64.h: Likewise.
25306         * m4/sha256.m4: Likewise.
25307         * m4/sha512.m4: Likewise.
25308         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25309
25310 2008-05-10  Bruno Haible  <bruno@clisp.org>
25311
25312         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25313         (Input/Output <stdio.h>): Add xprintf.
25314         (Signal handling <signal.h>): Add strsignal.
25315         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25316         (Core language properties): Add func.
25317         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25318         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25319         strings.
25320         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25321         (Input/output): New section.
25322         (File system functions): Add openat-die, stat-macros.
25323         (Networking functions): Add sockets.
25324         (Unicode string functions): Add unictype/*.
25325         (Support for building libraries and executables): Add gperf.
25326         (Support for building documentation): Add agpl-3.0.
25327         (Misc): Add nocrash.
25328
25329 2008-05-10  Bruno Haible  <bruno@clisp.org>
25330
25331         * modules/unictype/gen-ctype: New file.
25332
25333 2008-05-10  Jim Meyering  <meyering@redhat.com>
25334
25335         Make chdir-safer.c more efficient on a system with no symlinks.
25336         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25337         also if ELOOP is zero.  Suggested by Bruno Haible.
25338
25339         Make chdir-safer.c slightly safer.
25340         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25341         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25342
25343         Avoid compile failure on systems without ELOOP (like mingw).
25344         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25345         Reported by Bruno Haible.
25346
25347 2008-05-10  Bruno Haible  <bruno@clisp.org>
25348
25349         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25350         (is_utf8_encoding): Use a case-insensitive comparison.
25351         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25352         streq.
25353
25354 2008-05-10  Bruno Haible  <bruno@clisp.org>
25355
25356         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25357         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25358         * lib/unilbrk/ulc-common.h (iconv_string_length,
25359         iconv_string_keeping_offsets): Remove declarations.
25360         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25361         Don't include <iconv.h>, streq.h, xsize.h.
25362         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25363         conversion.
25364         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25365         <iconv.h>, streq.h, xsize.h.
25366         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25367         conversion.
25368         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25369         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25370         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25371         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25372
25373 2008-05-10  Bruno Haible  <bruno@clisp.org>
25374
25375         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25376         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25377
25378         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25379         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25380
25381         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25382         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25383
25384         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25385         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25386
25387         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25388         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25389
25390         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25391         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25392
25393         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25394         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25395
25396         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25397         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25398
25399 2008-05-10  Bruno Haible  <bruno@clisp.org>
25400
25401         Split up 'linebreak' module.
25402         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25403         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25404         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25405         modifications.
25406         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25407         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25408         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25409         lib/linebreak.c.
25410         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25411         lib/linebreak.c.
25412         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25413         lib/linebreak.c.
25414         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25415         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25416         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25417         lib/linebreak.c.
25418         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25419         lib/linebreak.c.
25420         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25421         lib/linebreak.c.
25422         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25423         lib/linebreak.c.
25424         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25425         lib/linebreak.c.
25426         * modules/unilbrk/base: New file.
25427         * modules/unilbrk/tables: New file.
25428         * modules/unilbrk/u8-possible-linebreaks: New file.
25429         * modules/unilbrk/u16-possible-linebreaks: New file.
25430         * modules/unilbrk/u32-possible-linebreaks: New file.
25431         * modules/unilbrk/ulc-common: New file.
25432         * modules/unilbrk/ulc-possible-linebreaks: New file.
25433         * modules/unilbrk/u8-width-linebreaks: New file.
25434         * modules/unilbrk/u16-width-linebreaks: New file.
25435         * modules/unilbrk/u32-width-linebreaks: New file.
25436         * modules/unilbrk/ulc-width-linebreaks: New file.
25437         * lib/linebreak.h: Remove file.
25438         * lib/linebreak.c: Remove file.
25439         * m4/linebreak.m4: Remove file.
25440         * modules/linebreak: Remove file.
25441         * NEWS: Mention the changes.
25442
25443 2008-05-09  Eric Blake  <ebb9@byu.net>
25444
25445         Add xmemdup0.
25446         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25447         implementation.
25448         * lib/xmalloc.c (xmemdup0): New C implementation.
25449
25450 2008-05-08  Bruno Haible  <bruno@clisp.org>
25451
25452         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25453
25454 2008-05-07  Eric Blake  <ebb9@byu.net>
25455
25456         Support cross-compilation of <wctype.h>.
25457         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25458         AC_CACHE_CHECK.
25459
25460 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25461
25462         * build-aux/vc-list-files: Add support for bzr.
25463
25464 2008-05-03  Jim Meyering  <meyering@redhat.com>
25465
25466         avoid failed assertion with tight malloc
25467         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25468
25469 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25470
25471         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25472         are needed from arpa/inet.h.
25473         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25474         Reported by Bruno Haible.
25475
25476 2008-05-02  Jim Meyering  <meyering@redhat.com>
25477
25478         avoid compilation error on FreeBSD 6
25479         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25480
25481 2008-05-01  Jim Meyering  <meyering@redhat.com>
25482
25483         useless-if-before-free: correct --help's exit status description
25484         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25485         for one or more matches, etc.  Reported by Bruno Haible.
25486
25487         vc-list-files: make the stand-alone gnulib test work
25488         * modules/vc-list-files-tests (configure.ac):
25489         Define and AC_SUBST abs_aux_dir.
25490         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25491         $(abs_top_srcdir) to each script and having each of them
25492         duplicate the work of setting PATH, set PATH here, using
25493         the new variable, abs_aux_dir instead.
25494         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25495         * tests/test-vc-list-files-git.sh: Likewise.
25496         Reported by Bruno Haible.
25497
25498 2008-05-01  Bruno Haible  <bruno@clisp.org>
25499
25500         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25501         reallocation. Rename 'done' to 'found_delimiter'.
25502
25503 2008-05-01  Jim Meyering  <meyering@redhat.com>
25504
25505         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25506         * build-aux/vc-list-files: Use `...`, not $(...).
25507
25508 2008-04-30  Jim Meyering  <meyering@redhat.com>
25509
25510         add tests for vc-list-files
25511         * modules/vc-list-files-tests: New module.
25512         * tests/test-vc-list-files-cvs.sh: New file.
25513         * tests/test-vc-list-files-git.sh: New file.
25514
25515         avoid a warning from gcc
25516         * lib/getndelim2.c (IF_LINT): Define.
25517         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25518
25519         vc-list-files: work properly with build-aux/cvsu, too
25520         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25521         to all cvs-based clauses.
25522
25523         vc-list-files: work properly in the CVS+awk case, too
25524         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25525
25526         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25527         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25528         take more than one file argument, so .  Add quotes, just in case $dir
25529         ever contains a shell meta-character.  Prompted by Soren Hansen in
25530         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25531
25532 2008-04-29  Eric Blake  <ebb9@byu.net>
25533
25534         Optimize getndelim2 to use block operations when possible.
25535         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25536         freadseek, and memchr2.
25537         * lib/getndelim2.c (getndelim2): Use them for block reads.
25538
25539 2008-04-29  Bruno Haible  <bruno@clisp.org>
25540
25541         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25542         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25543         * modules/inet_ntop (Depends-on): Add extensions.
25544         * modules/inet_pton (Depends-on): Likewise.
25545         Reported by Simon Josefsson.
25546
25547 2008-04-29  Jim Meyering  <meyering@redhat.com>
25548
25549         When the is more than one match in a block, match all of them.
25550         * build-aux/useless-if-before-free: Iterate through each block
25551         until there are no more matches.
25552
25553         Fix broken useless-if-before-free script.
25554         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25555         the expression to match cast of argument to free-like function.
25556
25557 2008-04-29  Eric Blake  <ebb9@byu.net>
25558
25559         Use new header.
25560         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25561
25562 2008-04-29  Jim Meyering  <meyering@redhat.com>
25563
25564         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25565         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25566         by gnulib to exist and to declare e.g., inet_ntop.
25567         Don't include "inet_ntop.h", now removed.
25568
25569         * m4/arpa_inet_h.m4: Remove trailing blanks.
25570
25571 2008-04-29  Eric Blake  <ebb9@byu.net>
25572
25573         Silence valgrind on safe reads beyond potential array bounds.
25574         * lib/rawmemchr.valgrind: New file.
25575         * lib/strchrnul.valgrind: Likewise.
25576         * modules/rawmemchr (Files): Distribute new file.
25577         * modules/strchrnul (Files): Likewise.
25578         Suggested by Bruno Haible.
25579
25580 2008-04-29  Bruno Haible  <bruno@clisp.org>
25581
25582         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25583         (inet_ntop, inet_pton): Change portability warning's wording.
25584         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25585         Invoke gl_CHECK_NEXT_HEADERS.
25586         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25587         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25588         set ARPA_INET_H.
25589         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25590         * modules/arpa_inet (Description): No longer only for systems that
25591         lack it.
25592         (Depends-on): Add include_next.
25593         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25594         HAVE_ARPA_INET_H.
25595
25596 2008-04-29  Jim Meyering  <meyering@redhat.com>
25597
25598         * modules/mkdir (License): Re-license as LGPLv2+.
25599
25600 2008-04-29  Bruno Haible  <bruno@clisp.org>
25601
25602         * modules/rawmemchr (Maintainer): Set to Eric.
25603         * modules/strchrnul (Maintainer): Likewise.
25604
25605 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25606
25607         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25608         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25609
25610         * modules/arpa_inet (arpa/inet.h): Use them.
25611
25612 2008-04-28  Eric Blake  <ebb9@byu.net>
25613
25614         Test getndelim2.
25615         * modules/getndelim2-tests: New file.
25616         * tests/test-getndelim2.c: Likewise.
25617         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25618         stream.
25619         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25620
25621         * MODULES.html.sh: Document new module.
25622
25623 2008-04-20  Bruno Haible  <bruno@clisp.org>
25624
25625         * lib/c-stack.c (die): Use raise.
25626         * modules/c-stack (Depends-on): Add raise.
25627
25628 2008-04-28  Bruno Haible  <bruno@clisp.org>
25629
25630         Expect rpmatch to be declared.
25631         * lib/yesno.c (rpmatch): Remove declaration.
25632
25633         Declare rpmatch.
25634         * lib/stdlib.in.h (rpmatch): New declaration.
25635         * lib/rpmatch.c: Include <stdlib.h> first.
25636         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25637         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
25639         HAVE_RPMATCH.
25640         * modules/rpmatch (Depends-on): Add stdlib, extensions.
25641         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25642         (Include): Set to <stdlib.h>.
25643         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
25644         HAVE_RPMATCH.
25645         * NEWS: Document the change.
25646
25647 2008-04-28  Bruno Haible  <bruno@clisp.org>
25648
25649         Change rpmatch to use nl_langinfo when appropriate.
25650         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
25651         (N_): New macro.
25652         (localized_pattern): New function/macro.
25653         (try): Remove match, nomatch arguments. Copy the pattern into safe
25654         memory before caching it.
25655         (rpmatch): Use localized_pattern. Add translator comments.
25656         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
25657         Suggested by Eric Blake.
25658         * modules/rpmatch (Depends-on): Add stdbool.
25659
25660 2008-04-28  Eric Blake  <ebb9@byu.net>
25661
25662         Add rawmemchr module, matching glibc.
25663         * modules/string (Makefile.am): New indicator.
25664         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
25665         * lib/string.in.h (rawmemchr): Declare when appropriate.
25666         * modules/rawmemchr: New file.
25667         * m4/rawmemchr.m4: Likewise.
25668         * lib/rawmemchr.c: Likewise.
25669         * modules/rawmemchr-tests: Likewise.
25670         * tests/test-rawmemchr.c: Likewise.
25671         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
25672         module.
25673         * modules/strchrnul (Depends-on): Add rawmemchr.
25674         * lib/strchrnul.c (strchrnul): Optimize a corner case.
25675
25676         Whitespace cleanup.
25677         * tests/test-strchrnul.c: Reindent.
25678         * lib/strchrnul.c: Likewise.
25679
25680         Optimize and test strchrnul.
25681         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
25682         * modules/strchrnul-tests: New file.
25683         * tests/test-strchrnul.c: Likewise.
25684
25685         Remove intprops dependency.
25686         * modules/memchr (Depends-on): Remove intprops.
25687         * modules/memrchr (Depends-on): Likewise.
25688         * modules/memchr2 (Depends-on): Likewise.
25689         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
25690         * lib/memrchr.c (__memrchr): Likewise.
25691         * lib/memrchr2.c (memchr2): Likewise.
25692         Reported by Simon Josefsson.
25693
25694 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25695
25696         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
25697         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25698
25699 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25700
25701         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
25702
25703         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
25704
25705         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
25706
25707         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
25708         declarations.
25709         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
25710
25711         * m4/inet_pton.m4: Don't check for header files.
25712
25713         * m4/inet_ntop.m4: Don't check for header files.
25714
25715 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25716
25717         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
25718         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
25719         trigger for cygwin).
25720         Reported by Bruno Haible  <bruno@clisp.org>.
25721
25722 2008-04-28  Bruno Haible  <bruno@clisp.org>
25723
25724         * doc/posix-functions/strdup.texi: Mention mingw problem.
25725
25726 2008-04-27  Bruno Haible  <bruno@clisp.org>
25727
25728         * modules/stat-time-tests (Depends-on): Add sleep.
25729         * tests/test-stat-time.c (force_unlink): New function.
25730         (cleanup): Use it.
25731         (test_mtime): Remove the ctime related tests.
25732         (test_ctime): New function, containing the ctime related tests.
25733         (main): Call test_ctime, except on native Windows platforms.
25734
25735 2008-04-27  Bruno Haible  <bruno@clisp.org>
25736
25737         * lib/rpmatch.c (rpmatch): Add some comments.
25738         Reported by James Youngman <jay@gnu.org>.
25739
25740 2008-04-27  Bruno Haible  <bruno@clisp.org>
25741
25742         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
25743         quiet NaNs.
25744
25745 2008-04-27  Bruno Haible  <bruno@clisp.org>
25746
25747         Make test-yesno.sh work on mingw.
25748         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
25749         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
25750         (main): Set stdin to binary mode.
25751         * modules/yesno-tests (Depends-on): Add binary-io.
25752
25753 2008-04-27  Bruno Haible  <bruno@clisp.org>
25754
25755         Fix 'isfinite' on x86, x86_64, ia64 platforms.
25756         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
25757         argument that lie outside the IEEE 854 domain.
25758         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
25759         (gl_ISFINITE): Use it.
25760         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
25761
25762 2008-04-27  Bruno Haible  <bruno@clisp.org>
25763
25764         Allow local renaming in config.h.
25765         * lib/memrchr.c (memrchr): Don't undefine outside libc.
25766
25767 2008-04-27  Bruno Haible  <bruno@clisp.org>
25768
25769         * lib/memchr.c (__memchr): Change type of 'i'.
25770         * lib/memchr2.c (memchr2): Likewise.
25771
25772 2008-04-26  Eric Blake  <ebb9@byu.net>
25773         and Bruno Haible  <bruno@clisp.org>
25774
25775         Optimize and test memrchr.
25776         * modules/memrchr (Depends-on): Add intprops.
25777         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
25778         * modules/memrchr-tests: New file.
25779         * tests/test-memrchr.c: New file.
25780
25781 2008-04-26  Bruno Haible  <bruno@clisp.org>
25782
25783         Add tentative support for DragonFly BSD.
25784         * lib/stdio-impl.h: Add macros for DragonFly BSD.
25785         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
25786         fp.
25787         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25788         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
25789         * lib/fpurge.c (fpurge): Likewise.
25790         * lib/freadable.c (freaadable): Likewise.
25791         * lib/freadahead.c (freadahead): Likewise.
25792         * lib/freading.c (freading): Likewise.
25793         * lib/freadptr.c (freadptr): Likewise.
25794         * lib/freadseek.c (freadptrinc): Likewise.
25795         * lib/fseeko.c (fseeko): Likewise.
25796         * lib/fseterr.c (fseterr): Likewise.
25797         * lib/fwritable.c (fwritable): Likewise.
25798         * lib/fwriting.c (fwriting): Likewise.
25799
25800 2008-04-26  Bruno Haible  <bruno@clisp.org>
25801
25802         * lib/stdio-impl.h: New file.
25803         * lib/fbufmode.c: Include stdio-impl.h.
25804         (fbufmode): Use fp_, remove redundant #defines.
25805         * lib/fflush.c: Include stdio-impl.h.
25806         (clear_ungetc_buffer): Remove redundant #defines.
25807         * lib/fpurge.c: Include stdio-impl.h.
25808         (fpurge): Remove redundant #defines.
25809         * lib/freadable.c: Include stdio-impl.h.
25810         (freadable): Remove redundant #defines.
25811         * lib/freadahead.c: Include stdio-impl.h.
25812         (freadahead): Remove redundant #defines.
25813         * lib/freading.c: Include stdio-impl.h.
25814         (freading): Remove redundant #defines.
25815         * lib/freadptr.c: Include stdio-impl.h.
25816         (freadptr): Remove redundant #defines.
25817         * lib/freadseek.c: Include stdio-impl.h.
25818         (freadptrinc): Remove redundant #defines.
25819         * lib/fseeko.c: Include stdio-impl.h.
25820         (rpl_fseeko): Remove redundant #defines.
25821         * lib/fseterr.c: Include stdio-impl.h.
25822         (fseterr): Remove redundant #defines.
25823         * lib/fwritable.c: Include stdio-impl.h.
25824         (fwritable: Remove redundant #defines.
25825         * lib/fwriting.c: Include stdio-impl.h.
25826         (fwriting): Remove redundant #defines.
25827         * modules/fbufmode (Files): Add lib/stdio-impl.h.
25828         * modules/fflush (Files): Likewise.
25829         * modules/fpurge (Files): Likewise.
25830         * modules/freadable (Files): Likewise.
25831         * modules/freadahead (Files): Likewise.
25832         * modules/freading (Files): Likewise.
25833         * modules/freadptr (Files): Likewise.
25834         * modules/freadseek (Files): Likewise.
25835         * modules/fseeko (Files): Likewise.
25836         * modules/fseterr (Files): Likewise.
25837         * modules/fwritable (Files): Likewise.
25838         * modules/fwriting (Files): Likewise.
25839
25840 2008-04-26  Bruno Haible  <bruno@clisp.org>
25841
25842         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25843         restore_seek_optimization, update_fpos_cache): New functions, extracted
25844         from rpl_fflush.
25845         (rpl_fflush): Use them.
25846         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
25847         (gl_REPLACE_FFLUSH): Use it.
25848
25849 2008-04-26  Bruno Haible  <bruno@clisp.org>
25850
25851         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
25852         on Solaris.
25853         * tests/test-xstrtoimax.sh: Likewise.
25854         * tests/test-xstrtoumax.sh: Likewise.
25855         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25856
25857 2008-04-26  Bruno Haible  <bruno@clisp.org>
25858
25859         * modules/memchr-tests: New file.
25860         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
25861
25862 2008-04-26  Eric Blake  <ebb9@byu.net>
25863             Bruno Haible  <bruno@clisp.org>
25864
25865         * lib/memchr.c: Include intprops.h.
25866         (__memchr): Optimize parallel detection of matching bytes. Rename local
25867         variables. Add explanatory comments.
25868
25869 2008-04-26  Bruno Haible  <bruno@clisp.org>
25870
25871         Fix module 'memchr', broken since 2000-10-28.
25872         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
25873
25874 2008-04-26  Bruno Haible  <bruno@clisp.org>
25875
25876         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
25877         comments.
25878
25879 2008-04-25  Eric Blake  <ebb9@byu.net>
25880
25881         Use native fstatat on cygwin 1.7.0.
25882         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
25883         first.
25884
25885 2008-04-23  Eric Blake  <ebb9@byu.net>
25886
25887         Improve memchr2 performance.
25888         * lib/memchr2.c (memchr2): Further optimize parallel detection of
25889         NUL bytes.
25890         * modules/memchr2 (Depends-on): Use intprops.h.
25891
25892 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25893
25894         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
25895         an inline function instead of a CPP macro.  Patch by Ben Pfaff
25896         <blp@cs.stanford.edu>.
25897
25898 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25899
25900         * lib/arpa_inet.in.h: New file.
25901
25902         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
25903         (Makefile.am): Sed in substitute header file.
25904
25905         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
25906         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
25907
25908         * modules/inet_ntop (configure.ac): Use
25909         gl_ARPA_INET_MODULE_INDICATOR.
25910
25911         * modules/inet_pton (configure.ac): Use
25912         gl_ARPA_INET_MODULE_INDICATOR.
25913
25914 2008-04-22  Jim Meyering  <meyering@redhat.com>
25915
25916         * modules/verify (License): Re-license as LGPLv2+.
25917
25918 2008-04-22  Simon Josefsson  <simon@josefsson.org>
25919
25920         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
25921         parameter to void* as per POSIX standard (MinGW uses char*).
25922
25923 2008-04-21  Bruno Haible  <bruno@clisp.org>
25924
25925         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25926         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
25927         Define to replacements if REPLACE_ISWCNTRL is 1.
25928         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
25929         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
25930         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
25931         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
25932         what it fixes.
25933         * doc/posix-functions/iswalpha.texi: Likewise.
25934         * doc/posix-functions/iswblank.texi: Likewise.
25935         * doc/posix-functions/iswcntrl.texi: Likewise.
25936         * doc/posix-functions/iswdigit.texi: Likewise.
25937         * doc/posix-functions/iswgraph.texi: Likewise.
25938         * doc/posix-functions/iswlower.texi: Likewise.
25939         * doc/posix-functions/iswprint.texi: Likewise.
25940         * doc/posix-functions/iswpunct.texi: Likewise.
25941         * doc/posix-functions/iswspace.texi: Likewise.
25942         * doc/posix-functions/iswupper.texi: Likewise.
25943         * doc/posix-functions/iswxdigit.texi: Likewise.
25944         Reported by Alain Guibert.
25945
25946 2008-04-21  Bruno Haible  <bruno@clisp.org>
25947
25948         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
25949         Patch by Alain Guibert.
25950
25951 2008-04-21  Bruno Haible  <bruno@clisp.org>
25952
25953         Fix test failures on mingw.
25954         * tests/test-xstrtol.c (print_no_progname): New function.
25955         (main): Install it in error_print_progname hook.
25956         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
25957         * tests/test-xstrtoimax.sh: Likewise.
25958         * tests/test-xstrtoumax.sh: Likewise.
25959
25960 2008-04-21  Bruno Haible  <bruno@clisp.org>
25961
25962         Fix test failure on mingw.
25963         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
25964
25965 2008-04-21  Bruno Haible  <bruno@clisp.org>
25966
25967         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
25968         Actually assign a value.
25969
25970 2008-04-20  Bruno Haible  <bruno@clisp.org>
25971
25972         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
25973         take 2.
25974         * lib/canonicalize.c (canonicalize_file_name): Elide if the
25975         'canonicalize-lgpl' module is also used.
25976         * lib/canonicalize-lgpl.c: Undo last change.
25977         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
25978
25979 2008-04-20  Bruno Haible  <bruno@clisp.org>
25980
25981         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
25982         config.h. Provide _mkdir based fallback for mingw.
25983         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
25984         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
25985         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
25986         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
25987         rather than defining mkdir in config.h.
25988         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
25989         (gl_SYS_STAT_H_DEFAULTS): New macro.
25990         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
25991         HAVE_IO_H any more.
25992         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
25993         HAVE_DECL_MKDIR and HAVE_IO_H.
25994
25995 2008-04-20  Bruno Haible  <bruno@clisp.org>
25996
25997         * lib/isapipe.c: Port to native Windows platforms.
25998
25999 2008-04-20  Bruno Haible  <bruno@clisp.org>
26000
26001         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26002
26003 2008-04-21  Eric Blake  <ebb9@byu.net>
26004
26005         Work around preprocessors that don't handle UINTMAX_MAX.
26006         * lib/memchr2.c (memchr2): Avoid embedded #if.
26007         Reported by Alain Guibert, fix suggested by Bruno Haible.
26008
26009 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26010
26011         * doc/posix-functions/strftime.texi (strftime): Explain better
26012         Windows incompatibility.  Suggested by Micah Cowan
26013         <micah@cowan.name>.
26014
26015 2008-04-20  Bruno Haible  <bruno@clisp.org>
26016
26017         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26018         unistr/u8-mblen.
26019
26020 2008-04-20  Bruno Haible  <bruno@clisp.org>
26021
26022         Fix test failure on platforms with non-GNU iconv.
26023         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26024         (U_TO_U8): Use it, rather than u16_to_u8.
26025         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26026         units at the end of the input string.
26027         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26028
26029 2008-04-20  Bruno Haible  <bruno@clisp.org>
26030
26031         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26032         when the resulting length is 0.
26033         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26034
26035 2008-04-20  Bruno Haible  <bruno@clisp.org>
26036
26037         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26038         works.
26039         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26040
26041 2008-04-20  Bruno Haible  <bruno@clisp.org>
26042
26043         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26044         * modules/tsearch-tests (configure.ac): Test for initstate function.
26045
26046 2008-04-20  Bruno Haible  <bruno@clisp.org>
26047
26048         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26049         for nlink_t if missing.
26050         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26051
26052 2008-04-19  Bruno Haible  <bruno@clisp.org>
26053
26054         Work around snprintf bug on Linux libc5.
26055         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26056         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26057         gl_SNPRINTF_SIZE1.
26058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26059         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26060         that test failed.
26061         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26062         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26063         * modules/snprintf (Files): Add m4/printf.m4.
26064         * modules/vsnprintf (Files): Likewise.
26065         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26066         * doc/posix-functions/vsnprintf.texi: Likewise.
26067
26068 2008-04-19  Bruno Haible  <bruno@clisp.org>
26069
26070         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26071         from 0.0058 to less than 10^-7.
26072
26073 2008-04-19  Bruno Haible  <bruno@clisp.org>
26074
26075         Fix rounding when a precision is given.
26076         * lib/vasnprintf.c (is_borderline): New function.
26077         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26078         9...9x.
26079         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26080         %e, %g.
26081         * tests/test-vasprintf-posix.c (test_function): Likewise.
26082         * tests/test-snprintf-posix.h (test_function): Likewise.
26083         * tests/test-sprintf-posix.h (test_function): Likewise.
26084         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26085         * tests/test-printf-posix.h (test_function): Likewise.
26086         * tests/test-printf-posix.output: Update.
26087         Reported by John Darrington <john@darrington.wattle.id.au> via
26088         Ben Pfaff <blp@cs.stanford.edu>.
26089
26090 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26091
26092         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26093         Suggested by Bruno Haible <bruno@clisp.org>.
26094
26095 2008-04-17  Bruno Haible  <bruno@clisp.org>
26096
26097         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26098         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26099         implementation.
26100         Patch by Bruce Merry <bmerry@gmail.com>.
26101
26102 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26103
26104         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26105         doesn't work under Windows.
26106
26107 2008-04-16  Bruno Haible  <bruno@clisp.org>
26108
26109         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26110         New macros.
26111         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26112         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26113         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26114         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26115         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26116         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26117         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26118         macros.
26119         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26120         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26121         Northern Sotho, Uighur.
26122
26123 2008-04-16  Bruno Haible  <bruno@clisp.org>
26124
26125         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26126         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26127         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26128         Reported by Daniel Bergström <daniel@octocode.com>.
26129
26130 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26131             Bruno Haible  <bruno@clisp.org>
26132
26133         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26134         function.
26135         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26136         New functions, mostly extracted from gl_locale_name_default.
26137         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26138
26139 2008-04-16  Eric Blake  <ebb9@byu.net>
26140
26141         Adjust strtod detection to catch glibc 2.7 bug.
26142         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26143         Reported by John Gatewood Ham.
26144
26145 2008-04-16  Bruno Haible  <bruno@clisp.org>
26146
26147         Add tentative support for Linux libc5.
26148         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26149         * lib/fpurge.c (fpurge): Likewise.
26150         * lib/freadable.c (freadable): Likewise.
26151         * lib/freadahead.c (freadahead): Likewise.
26152         * lib/freading.c (freading): Likewise.
26153         * lib/freadptr.c (freadptr): Likewise.
26154         * lib/freadseek.c (freadptrinc): Likewise.
26155         * lib/fseeko.c (rpl_fseeko): Likewise.
26156         * lib/fseterr.c (fseterr): Likewise.
26157         * lib/fwritable.c (fwritable): Likewise.
26158         * lib/fwriting.c (fwriting): Likewise.
26159         Reported by Alain Guibert <alguibert+bts@free.fr>.
26160
26161 2008-04-15  Bruno Haible  <bruno@clisp.org>
26162
26163         * modules/mathl (configure.ac): Define module indicator.
26164
26165 2008-04-15  Bruno Haible  <bruno@clisp.org>
26166
26167         * lib/logl.c (logl): Remove unused variables.
26168
26169 2008-04-15  Bruno Haible  <bruno@clisp.org>
26170
26171         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
26172         fails.
26173
26174 2008-04-15  Bruno Haible  <bruno@clisp.org>
26175
26176         * lib/trim.c (trim2): Fix argument of isspace() macro.
26177
26178 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
26179
26180         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
26181         to 0.
26182         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
26183
26184 2008-04-14  Bruno Haible  <bruno@clisp.org>
26185
26186         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26187         AC_LANG_PROGRAM argument.
26188         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26189         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26191         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26192         * m4/math_h.m4 (gl_MATH_H): Likewise.
26193         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26194         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26195         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26196         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26197         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26198         * m4/regex.m4 (gl_REGEX): Likewise.
26199         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26200         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26202         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26203         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26204         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26205         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26206         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26207
26208 2008-04-14  Jim Meyering  <meyering@redhat.com>
26209
26210         test-strtod: fix typos: s/abs/fabs/
26211         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26212
26213 2008-04-13  Bruno Haible  <bruno@clisp.org>
26214
26215         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26216         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26217         module is also used and while not building the reloc-wrapper.
26218
26219 2008-04-13  Bruno Haible  <bruno@clisp.org>
26220
26221         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26222
26223 2008-04-13  Bruno Haible  <bruno@clisp.org>
26224
26225         Fix AIX compilation failure introduced on 2008-04-02.
26226         * tests/test-frexp.c (exp): Undefine before redefining.
26227         * tests/test-frexpl.c (exp): Likewise.
26228
26229 2008-04-13  Bruno Haible  <bruno@clisp.org>
26230
26231         Work around a HP-UX stdio bug.
26232         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26233         * tests/test-ftello.c (main): Likewise.
26234         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26235         * doc/posix-functions/ftello.texi: Likewise.
26236
26237 2008-04-13  Bruno Haible  <bruno@clisp.org>
26238
26239         Make test-signbit pass on HP-UX/hppa.
26240         * tests/test-signbit.c (minus_zerol): New variable.
26241         (test_signbitl): Use it.
26242
26243 2008-04-13  Bruno Haible  <bruno@clisp.org>
26244
26245         Make truncl work on OSF/1 4.0.
26246         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26247         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26248         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26250         HAVE_DECL_TRUNCL.
26251         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26252         HAVE_DECL_TRUNCL.
26253         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26254
26255 2008-04-13  Bruno Haible  <bruno@clisp.org>
26256
26257         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26258
26259 2008-04-13  Bruno Haible  <bruno@clisp.org>
26260
26261         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26262         expression, so as to avoid HP-UX 11 cc compiler bug.
26263
26264 2008-04-13  Bruno Haible  <bruno@clisp.org>
26265
26266         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26267
26268 2008-04-13  Bruno Haible  <bruno@clisp.org>
26269
26270         * lib/git-merge-changelog.c: Remove empty declaration outside of
26271         functions.
26272
26273 2008-04-13  Bruno Haible  <bruno@clisp.org>
26274
26275         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26276
26277 2008-04-13  Bruno Haible  <bruno@clisp.org>
26278
26279         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26280         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26281         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26282         also if it exists but lacks definitions of the SHUT_* macros.
26283         * modules/sys_socket (Description): Update.
26284         Reported by Elbert Pol <e.pol@chello.nl>.
26285
26286 2008-04-13  Bruno Haible  <bruno@clisp.org>
26287
26288         * lib/localcharset.c (OS2): Don't redefine if already defined.
26289         Reported by Elbert Pol <e.pol@chello.nl>.
26290
26291 2008-04-13  Bruno Haible  <bruno@clisp.org>
26292
26293         * lib/binary-io.h [__EMX__]: Include <io.h>.
26294         Reported by Elbert Pol <e.pol@chello.nl>.
26295
26296 2008-04-12  Bruno Haible  <bruno@clisp.org>
26297
26298         * lib/fpucw.h: Enable the definitions also for x86_64.
26299         Needed for NetBSD/x86_64.
26300         Reported by Thomas Klausner <tk@giga.or.at>.
26301
26302 2008-04-12  Bruno Haible  <bruno@clisp.org>
26303
26304         * tests/test-strtod.c: Include isnand.h.
26305         (main): Use isnand instead of isnan.
26306         Reported by Jim Meyering.
26307
26308 2008-04-12  Bruno Haible  <bruno@clisp.org>
26309
26310         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26311         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26312
26313 2008-04-12  Jim Meyering  <meyering@redhat.com>
26314
26315         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26316
26317 2008-04-12  Bruno Haible  <bruno@clisp.org>
26318
26319         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26320         Reported by Elbert Pol <e.pol@chello.nl>.
26321
26322 2008-04-12  Eric Blake  <ebb9@byu.net>
26323
26324         Work around Solaris 10 math.h bug.
26325         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26326         (gl_MATH_H_DEFAULTS): Set up default.
26327         * modules/math (Makefile.am): Replace new indicators.
26328         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26329         * tests/test-math.c (main): Test this.
26330         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26331         * doc/posix-headers/math.texi (math.h): Mention bug.
26332         Reported by Nelson H. F. Beebe and Jim Meyering.
26333
26334 2008-04-11  Bruno Haible  <bruno@clisp.org>
26335
26336         Adapt to future versions of Apple GCC.
26337         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26338         Reported by Peter O'Gorman <peter@pogma.com>.
26339
26340 2008-04-11  Bruno Haible  <bruno@clisp.org>
26341
26342         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26343
26344 2008-04-11  Bruno Haible  <bruno@clisp.org>
26345
26346         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26347
26348         * modules/getaddrinfo-tests (Makefile.am): Define
26349         test_getaddrinfo_LDADD.
26350
26351 2008-04-11  Bruno Haible  <bruno@clisp.org>
26352
26353         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26354         (init): Fix syntax error.
26355         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26356         is declared.
26357
26358 2008-04-11  Bruno Haible  <bruno@clisp.org>
26359
26360         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26361         * modules/glob (Depends-on): Add stdbool.
26362
26363 2008-04-11  Bruno Haible  <bruno@clisp.org>
26364
26365         * lib/trim.c: Include <string.h>.
26366
26367 2008-04-11  Eric Blake  <ebb9@byu.net>
26368
26369         Avoid compile failure on OS/2.
26370         * lib/regex_internal.h (internal_function): Disable optimization
26371         on OS/2 (__EMX__), where it caused compiler error.
26372         Reported by Elbert Pol.
26373
26374 2008-04-11  Bruno Haible  <bruno@clisp.org>
26375
26376         Flush the standard error stream before aborting. Needed on mingw.
26377         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26378         * tests/test-array_list.c (ASSERT): Likewise.
26379         * tests/test-array_oset.c (ASSERT): Likewise.
26380         * tests/test-avltree_list.c (ASSERT): Likewise.
26381         * tests/test-avltree_oset.c (ASSERT): Likewise.
26382         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26383         * tests/test-binary-io.c (ASSERT): Likewise.
26384         * tests/test-byteswap.c (ASSERT): Likewise.
26385         * tests/test-c-ctype.c (ASSERT): Likewise.
26386         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26387         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26388         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26389         * tests/test-c-strstr.c (ASSERT): Likewise.
26390         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26391         * tests/test-canonicalize.c (ASSERT): Likewise.
26392         * tests/test-carray_list.c (ASSERT): Likewise.
26393         * tests/test-ceilf1.c (ASSERT): Likewise.
26394         * tests/test-ceilf2.c (ASSERT): Likewise.
26395         * tests/test-ceill.c (ASSERT): Likewise.
26396         * tests/test-count-one-bits.c (ASSERT): Likewise.
26397         * tests/test-fbufmode.c (ASSERT): Likewise.
26398         * tests/test-fflush2.c (ASSERT): Likewise.
26399         * tests/test-floorf1.c (ASSERT): Likewise.
26400         * tests/test-floorf2.c (ASSERT): Likewise.
26401         * tests/test-floorl.c (ASSERT): Likewise.
26402         * tests/test-fopen.c (ASSERT): Likewise.
26403         * tests/test-fpending.c (ASSERT): Likewise.
26404         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26405         * tests/test-fpurge.c (ASSERT): Likewise.
26406         * tests/test-freadable.c (ASSERT): Likewise.
26407         * tests/test-freadahead.c (ASSERT): Likewise.
26408         * tests/test-freading.c (ASSERT): Likewise.
26409         * tests/test-freadptr.c (ASSERT): Likewise.
26410         * tests/test-freadptr2.c (ASSERT): Likewise.
26411         * tests/test-freadseek.c (ASSERT): Likewise.
26412         * tests/test-freopen.c (ASSERT): Likewise.
26413         * tests/test-frexp.c (ASSERT): Likewise.
26414         * tests/test-frexpl.c (ASSERT): Likewise.
26415         * tests/test-fseek.c (ASSERT): Likewise.
26416         * tests/test-fseeko.c (ASSERT): Likewise.
26417         * tests/test-fstrcmp.c (ASSERT): Likewise.
26418         * tests/test-ftell.c (ASSERT): Likewise.
26419         * tests/test-ftello.c (ASSERT): Likewise.
26420         * tests/test-func.c (ASSERT): Likewise.
26421         * tests/test-fwritable.c (ASSERT): Likewise.
26422         * tests/test-fwriting.c (ASSERT): Likewise.
26423         * tests/test-getdelim.c (ASSERT): Likewise.
26424         * tests/test-getline.c (ASSERT): Likewise.
26425         * tests/test-i-ring.c (ASSERT): Likewise.
26426         * tests/test-iconv-utf.c (ASSERT): Likewise.
26427         * tests/test-iconv.c (ASSERT): Likewise.
26428         * tests/test-isfinite.c (ASSERT): Likewise.
26429         * tests/test-isnand.c (ASSERT): Likewise.
26430         * tests/test-isnanf.c (ASSERT): Likewise.
26431         * tests/test-isnanl.h (ASSERT): Likewise.
26432         * tests/test-ldexpl.c (ASSERT): Likewise.
26433         * tests/test-linked_list.c (ASSERT): Likewise.
26434         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26435         * tests/test-localename.c (ASSERT): Likewise.
26436         * tests/test-lseek.c (ASSERT): Likewise.
26437         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26438         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26439         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26440         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26441         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26442         * tests/test-mbschr.c (ASSERT): Likewise.
26443         * tests/test-mbscspn.c (ASSERT): Likewise.
26444         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26445         * tests/test-mbspbrk.c (ASSERT): Likewise.
26446         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26447         * tests/test-mbsrchr.c (ASSERT): Likewise.
26448         * tests/test-mbsspn.c (ASSERT): Likewise.
26449         * tests/test-mbsstr1.c (ASSERT): Likewise.
26450         * tests/test-mbsstr2.c (ASSERT): Likewise.
26451         * tests/test-mbsstr3.c (ASSERT): Likewise.
26452         * tests/test-memchr2.c (ASSERT): Likewise.
26453         * tests/test-memmem.c (ASSERT): Likewise.
26454         * tests/test-open.c (ASSERT): Likewise.
26455         * tests/test-printf-frexp.c (ASSERT): Likewise.
26456         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26457         * tests/test-printf-posix.c (ASSERT): Likewise.
26458         * tests/test-quotearg.c (ASSERT): Likewise.
26459         * tests/test-rbtree_list.c (ASSERT): Likewise.
26460         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26461         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26462         * tests/test-round1.c (ASSERT): Likewise.
26463         * tests/test-roundf1.c (ASSERT): Likewise.
26464         * tests/test-roundl.c (ASSERT): Likewise.
26465         * tests/test-signbit.c (ASSERT): Likewise.
26466         * tests/test-sleep.c (ASSERT): Likewise.
26467         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26468         * tests/test-snprintf.c (ASSERT): Likewise.
26469         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26470         * tests/test-stat-time.c (ASSERT): Likewise.
26471         * tests/test-strcasestr.c (ASSERT): Likewise.
26472         * tests/test-strerror.c (ASSERT): Likewise.
26473         * tests/test-striconv.c (ASSERT): Likewise.
26474         * tests/test-striconveh.c (ASSERT): Likewise.
26475         * tests/test-striconveha.c (ASSERT): Likewise.
26476         * tests/test-strsignal.c (ASSERT): Likewise.
26477         * tests/test-strstr.c (ASSERT): Likewise.
26478         * tests/test-strtod.c (ASSERT): Likewise.
26479         * tests/test-trunc1.c (ASSERT): Likewise.
26480         * tests/test-trunc2.c (ASSERT): Likewise.
26481         * tests/test-truncf1.c (ASSERT): Likewise.
26482         * tests/test-truncf2.c (ASSERT): Likewise.
26483         * tests/test-truncl.c (ASSERT): Likewise.
26484         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26485         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26486         * tests/test-vasnprintf.c (ASSERT): Likewise.
26487         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26488         * tests/test-vasprintf.c (ASSERT): Likewise.
26489         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26490         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26491         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26492         * tests/test-vsnprintf.c (ASSERT): Likewise.
26493         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26494         * tests/test-wcwidth.c (ASSERT): Likewise.
26495         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26496         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26497         * tests/test-xvasprintf.c (ASSERT): Likewise.
26498         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26499         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26500         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26501         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26502         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26503         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26504         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26505         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26506         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26507         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26508         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26509         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26510         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26511         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26512         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26513         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26514         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26515         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26516         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26517         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26518         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26519         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26520         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26521         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26522         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26523         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26524         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26525         * tests/unictype/test-combining.c (ASSERT): Likewise.
26526         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26527         * tests/unictype/test-digit.c (ASSERT): Likewise.
26528         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26529         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26530         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26531         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26532         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26533         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26534         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26535         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26536         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26537         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26538         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26539         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26540         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26541         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26542         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26543         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26544         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26545         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26546         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26547         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26548         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26549         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26550         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26551         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26552         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26553         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26554         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26555         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26556         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26557         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26558         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26559         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26560         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26561         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26562         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26563         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26564         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26565         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26566         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26567         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26568         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26569         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26570         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26571         Reported by Eric Blake.
26572
26573 2008-04-11  Bruno Haible  <bruno@clisp.org>
26574
26575         * lib/wchar.in.h: Tweak comment.
26576
26577 2008-04-11  Bruno Haible  <bruno@clisp.org>
26578
26579         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26580         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26581         gl_COMMON.
26582         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26583
26584 2008-04-11  Bruno Haible  <bruno@clisp.org>
26585
26586         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26587
26588 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26589
26590         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26591         of attempting to use non-existing /dev/*random.  Based on patch
26592         from Adam Strzelecki <ono@java.pl> in
26593         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26594
26595 2008-04-08  Bruno Haible  <bruno@clisp.org>
26596
26597         Add tentative support for emx+gcc.
26598         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26599         * lib/fpurge.c (fpurge): Likewise.
26600         * lib/freadable.c (freadable): Likewise.
26601         * lib/freadahead.c (freadahead): Likewise.
26602         * lib/freading.c (freading): Likewise.
26603         * lib/freadptr.c (freadptr): Likewise.
26604         * lib/freadseek.c (freadptrinc): Likewise.
26605         * lib/fseeko.c (rpl_fseeko): Likewise.
26606         * lib/fseterr.c (fseterr): Likewise.
26607         * lib/fwritable.c (fwritable): Likewise.
26608         * lib/fwriting.c (fwriting): Likewise.
26609         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26610
26611 2008-04-09  Eric Blake  <ebb9@byu.net>
26612
26613         Avoid some autoconf warnings.
26614         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26615         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26616         * m4/afs.m4 (gl_AFS): Likewise.
26617         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26618         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26619         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26620         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26621         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26622         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26623         (AC_CHECK_DECLS_ONCE): Likewise.
26624         Rename file...
26625         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26626         gnulib-tool requires autoconf 2.59 or better.
26627         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26628
26629 2008-04-08  Eric Blake  <ebb9@byu.net>
26630
26631         Use 'git describe --match' if present (added in git 1.5.5).
26632         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26633         if possible.
26634
26635 2008-04-08  Bruno Haible  <bruno@clisp.org>
26636
26637         Add tentative support for OpenServer.
26638         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
26639         _ptr, _cnt.
26640         * lib/fpurge.c (fpurge): Likewise.
26641         * lib/freadable.c (freadable): Likewise.
26642         * lib/freadahead.c (freadahead): Likewise.
26643         * lib/freading.c (freading): Likewise.
26644         * lib/freadptr.c (freadptr): Likewise.
26645         * lib/freadseek.c (freadptrinc): Likewise.
26646         * lib/fseeko.c (rpl_fseeko): Likewise.
26647         * lib/fseterr.c (fseterr): Likewise.
26648         * lib/fwritable.c (fwritable): Likewise.
26649         * lib/fwriting.c (fwriting): Likewise.
26650         Reported by Roger Cornelius <rac@tenzing.org> and
26651         Brian K. White <brian@aljex.com>.
26652
26653 2008-04-06  Jim Meyering  <meyering@redhat.com>
26654
26655         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
26656
26657 2008-04-06  Bruno Haible  <bruno@clisp.org>
26658
26659         Avoid possible error with non-ASCII bytes in UTF-8 locales.
26660         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
26661         * tests/test-printf-posix.sh: Likewise.
26662         * tests/test-vfprintf-posix.sh: Likewise.
26663         * tests/test-vprintf-posix.sh: Likewise.
26664         * tests/test-xprintf-posix.sh: Likewise.
26665
26666 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26667
26668         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
26669         hide error from 'ls', needed on OS/2.
26670         Report by Elbert Pol <elbert.pol@gmail.com>.
26671
26672 2008-04-04  Eric Blake  <ebb9@byu.net>
26673
26674         Make test-fseeko.c failures meaningful.
26675         * tests/test-fseeko.c: Print line number on failure.
26676         * tests/test-fseek.c: Likewise.
26677         Reported by Nelson H. F. Beebe.
26678
26679         Improve strtod bug detection check.
26680         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
26681         required for Solaris 10.
26682         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
26683
26684 2008-04-04  Bruno Haible  <bruno@clisp.org>
26685
26686         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
26687         by m4/setenv.m4.
26688
26689 2008-04-03  Eric Blake  <ebb9@byu.net>
26690
26691         Ensure sane .version contents.
26692         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
26693         version string.
26694         * build-aux/git-version-gen: Improve documentation.
26695
26696         Make GNU make output nicer.
26697         * top/GNUmakefile [!_have-Makefile]: Add dependency on
26698         MAKECMDGOALS to enforce message for all command line targets.  Set
26699         srcdir for use in maint.mk.
26700
26701         Another maintainer tweak.
26702         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
26703         a target that regenerates version.
26704
26705 2008-04-03  Jim Meyering  <meyering@redhat.com>
26706
26707         vc-list-files: don't cause coreutils "make po-check" failure
26708         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
26709
26710 2008-04-03  Eric Blake  <ebb9@byu.net>
26711
26712         Allow VPATH usage of vc-list-files.
26713         * build-aux/vc-list-files (scriptversion): Add timestamp.
26714         (options): Add --help, --version, -C.
26715         (CVS): Support installed cvsu.
26716
26717 2008-04-02  Bruno Haible  <bruno@clisp.org>
26718
26719         Avoid some "statement with no effect" warnings from gcc.
26720         * tests/test-wctype.c (main): Explicitly ignore unused values.
26721         Reported by Jim Meyering.
26722
26723 2008-04-02  Jim Meyering  <meyering@redhat.com>
26724
26725         Avoid some warnings from "gcc -Wshadow".
26726         * tests/test-frexp.c (exp): Define to a different identifier.
26727         * tests/test-frexpl.c (exp): Likewise.
26728
26729 2008-04-03  Jim Meyering  <meyering@redhat.com>
26730
26731         bootstrap: remove dangling *.[ch] symlinks from lib
26732         * build-aux/bootstrap [dangling symlink removal]: Move find's
26733         -depth option to precede all others, to avoid a warning.
26734         Remove *.[ch] files too, and from "$source_base" (usually lib/).
26735
26736 2008-04-02  Bruno Haible  <bruno@clisp.org>
26737
26738         Avoid some warnings from "gcc -Wshadow".
26739         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
26740         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
26741         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
26742         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
26743         Reported by Jim Meyering.
26744
26745 2008-04-01  Bruno Haible  <bruno@clisp.org>
26746
26747         Fix test to work on IRIX 6.5 with cc.
26748         * tests/test-math.c (numeric_equal): New function.
26749         (main): Use it.
26750
26751 2008-04-01  Bruno Haible  <bruno@clisp.org>
26752
26753         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
26754
26755 2008-04-01  Bruno Haible  <bruno@clisp.org>
26756
26757         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
26758         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26759         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
26760         (Depends-on): Remove math.
26761
26762         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
26763         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26764         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
26765         (Depends-on): Remove math.
26766
26767         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
26768         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26769         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
26770         (Depends-on): Remove math.
26771         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
26772         (Depends-on): Remove math.
26773
26774         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
26775         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26776         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
26777         (Depends-on): Remove math.
26778         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
26779         (Depends-on): Remove math.
26780
26781         * tests/test-round1.c: Include nan.h.
26782         (main): Use NaNd instead of NAN.
26783         * modules/round-tests (Files): Add tests/nan.h.
26784
26785         * tests/test-trunc1.c: Include nan.h.
26786         (main): Use NaNd instead of NAN.
26787         * modules/trunc-tests (Files): Add tests/nan.h.
26788
26789         * tests/test-roundf1.c: Include nan.h.
26790         (main): Use NaNf instead of NAN.
26791         * modules/roundf-tests (Files): Add tests/nan.h.
26792
26793         * tests/test-truncf1.c: Include nan.h.
26794         (main): Use NaNf instead of NAN.
26795         * modules/truncf-tests (Files): Add tests/nan.h.
26796
26797         * tests/test-ceilf1.c: Include nan.h.
26798         (main): Use NaNf instead of NAN.
26799         * modules/ceilf-tests (Files): Add tests/nan.h.
26800
26801         * tests/test-floorf1.c: Include nan.h.
26802         (main): Use NaNf instead of NAN.
26803         * modules/floorf-tests (Files): Add tests/nan.h.
26804
26805         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
26806         (main): Use NaNf instead of NAN.
26807         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
26808
26809         * tests/test-isnand.c: Include nan.h instead of <math.h>.
26810         (main): Use NaNd instead of NAN.
26811         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
26812
26813         * tests/test-frexp.c: Include nan.h.
26814         (main): Use NaNd instead of NAN.
26815         * modules/frexp-tests (Files): Add tests/nan.h.
26816
26817         * lib/isnan.c: Don't include <math.h>.
26818         (FUNC): Don't use NAN macro.
26819         * modules/isnand-nolibm (Depends-on): Remove math.
26820         * modules/isnanf-nolibm (Depends-on): Remove math.
26821         * modules/isnanl (Depends-on): Remove math.
26822         * modules/isnanl-nolibm (Depends-on): Remove math.
26823
26824         * tests/nan.h: New file.
26825
26826 2008-04-01  Eric Blake  <ebb9@byu.net>
26827
26828         Fix typos.
26829         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
26830         values to be the right type.
26831
26832         For now, cater to gnulib strtod inaccuracies.
26833         * tests/test-strtod.c (main): Allow 1-ulp error on expected
26834         fractional results.  While not as nice from a QoI perspective, it
26835         is a quicker patch than correctly implementing decimal to binary
26836         rounding.
26837
26838 2008-03-31  Eric Blake  <ebb9@byu.net>
26839
26840         Guarantee a definition of NAN.
26841         * lib/math.in.h (NAN): Define if missing.
26842         * tests/test-math.c (main): Test it.
26843         * doc/posix-headers/math.texi (math.h): Document this.
26844         * lib/isnan.c (rpl_isnand): Use it.
26845         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
26846         * tests/test-floorf1.c (NaN): Likewise.
26847         * tests/test-frexp.c (NaN): Likewise.
26848         * tests/test-isnand.c (NaN): Likewise.
26849         * tests/test-isnanf.c (NaN): Likewise.
26850         * tests/test-round1.c (NaN): Likewise.
26851         * tests/test-roundf1.c (NaN): Likewise.
26852         * tests/test-snprintf-posix.h (NaN): Likewise.
26853         * tests/test-sprintf-posix.h (NaN): Likewise.
26854         * tests/test-trunc1.c (NaN): Likewise.
26855         * tests/test-truncf1.c (NaN): Likewise.
26856         * tests/test-vasnprintf-posix.c (NaN): Likewise.
26857         * tests/test-vasprintf-posix.c (NaN): Likewise.
26858         * modules/isnand-nolibm (Depends-on): Add math.
26859         * modules/isnanf-nolibm (Depends-on): Likewise.
26860         * modules/isnanl (Depends-on): Likewise.
26861         * modules/isnanl-nolibm (Depends-on): Likewise.
26862         * modules/snprintf-posix-tests (Depends-on): Likewise.
26863         * modules/sprintf-posix-tests (Depends-on): Likewise.
26864         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
26865         * modules/vsprintf-posix-tests (Depends-on): Likewise.
26866         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
26867         * modules/vasprintf-posix-tests (Depends-on): Likewise.
26868
26869 2008-03-31  Bruno Haible  <bruno@clisp.org>
26870
26871         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
26872         * doc/posix-functions/strtod.texi: Likewise.
26873
26874 2008-03-31  Bruno Haible  <bruno@clisp.org>
26875
26876         * tests/test-strtod.c (main): Don't use C99 syntax.
26877
26878 2008-03-31  Bruno Haible  <bruno@clisp.org>
26879
26880         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
26881         Reported by Eric Blake.
26882
26883 2008-03-31  Jim Meyering  <meyering@redhat.com>
26884
26885         Don't compare actual signbit return values.
26886         * tests/test-strtod.c (main): Rather, compare only their
26887         zero/non-zero nature.
26888
26889 2008-03-31  Eric Blake  <ebb9@byu.net>
26890
26891         More strtod documentation.
26892         * doc/posix-functions/strtod.texi (strtod): Interpret more test
26893         failures as distinct bugs.
26894
26895 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26896
26897         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
26898         Problem reported by Erik Benada in
26899         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
26900
26901 2008-03-30  Bruno Haible  <bruno@clisp.org>
26902
26903         * tests/test-strtod.c: Add comments about which assertion fails on which
26904         platform.
26905         * doc/posix-functions/strtod.texi: Add info about many more platforms.
26906
26907 2008-03-30  Eric Blake  <ebb9@byu.net>
26908
26909         Test signbit behavior on zeros.
26910         * tests/test-signbit.c (test_signbitf): Add tests for zero.
26911         (test_signbitd, test_signbitl): Likewise.
26912
26913         More strtod touchups.
26914         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
26915         sign of negative underflow, for now.  Use .5, not .1.
26916         * doc/posix-functions/strtod.texi (strtod): Mention these
26917         limitations.
26918         Reported by Jim Meyering.
26919
26920 2008-03-30  Bruno Haible  <bruno@clisp.org>
26921
26922         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
26923         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
26924
26925 2008-03-30  Bruno Haible  <bruno@clisp.org>
26926
26927         Avoid failure when attempting to return empty iconv results on some
26928         platforms.
26929         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
26930         allocation, don't report ENOMEM when the resulting string is empty.
26931
26932 2008-03-30  Bruno Haible  <bruno@clisp.org>
26933
26934         Fix buffer overrun.
26935         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
26936         Don't consider the width for tmp_length. Check count against tmp_length
26937         before doing the padding. Ensure enough allocation during padding.
26938
26939 2008-03-30  Eric Blake  <ebb9@byu.net>
26940
26941         strtod touchups.
26942         * lib/strtod.c (strtod): Avoid compiler warnings.
26943         Reported by Jim Meyering.
26944
26945 2008-03-30  Bruno Haible  <bruno@clisp.org>
26946
26947         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
26948         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
26949         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
26950         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
26951         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
26952         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
26953         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
26954         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
26955
26956         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
26957         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
26958         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
26959         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
26960         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
26961         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
26962         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
26963         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
26964
26965         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
26966         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
26967         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
26968         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
26969         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
26970         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
26971         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
26972         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
26973
26974         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
26975         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
26976
26977         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
26978         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
26979
26980         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
26981         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
26982
26983         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
26984         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
26985         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
26986
26987         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
26988         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
26989         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
26990
26991         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
26992         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
26993         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
26994
26995         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
26996         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
26997         * modules/vasprintf (Depends-on): Add EOVERFLOW.
26998
26999         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27000         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27001         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27002         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27003         (Depends-on): Add EOVERFLOW.
27004         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27005         (Depends-on): Add EOVERFLOW.
27006         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27007         (Depends-on): Add EOVERFLOW.
27008         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27009         (Depends-on): Add EOVERFLOW.
27010         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27011         (Depends-on): Add EOVERFLOW.
27012         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27013         (Depends-on): Add EOVERFLOW.
27014         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27015         (Depends-on): Add EOVERFLOW.
27016         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27017         (Depends-on): Add EOVERFLOW.
27018
27019         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27020         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27021         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27022
27023         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27024         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27025         * modules/snprintf (Depends-on): Add EOVERFLOW.
27026
27027         * lib/poll.c (EOVERFLOW): Remove fallback.
27028         * modules/poll (Depends-on): Add EOVERFLOW.
27029
27030         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27031         * modules/getugroups (Depends-on): Add EOVERFLOW.
27032
27033         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27034         * modules/getdelim (Depends-on): Add EOVERFLOW.
27035
27036         * lib/ftell.c (EOVERFLOW): Remove fallback.
27037         * modules/ftell (Depends-on): Add EOVERFLOW.
27038
27039         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27040         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27041         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27042
27043         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27044
27045         * modules/EOVERFLOW-tests: New file.
27046         * tests/test-EOVERFLOW.c: New file.
27047
27048         * modules/EOVERFLOW: New file.
27049         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27050
27051 2008-03-30  Bruno Haible  <bruno@clisp.org>
27052
27053         Fix bug introduced on 2007-06-10.
27054         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27055         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27056
27057 2008-03-30  Bruno Haible  <bruno@clisp.org>
27058
27059         Improve freadseek's efficiency after ungetc.
27060         * lib/freadseek.c: Include freadahead.h.
27061         (freadptrinc): New function, extracted from freadseek.
27062         (freadseek): Use it in a loop. Use freadahead to determine the number
27063         of loop iterations.
27064         * modules/freadseek (Depends-on): Add freadahead.
27065         (configure.ac): Require AC_C_INLINE.
27066
27067 2008-03-30  Bruno Haible  <bruno@clisp.org>
27068
27069         * lib/freadseek.c (freadseek): Don't ignore the return value of
27070         freadptr.
27071
27072 2008-03-29  Eric Blake  <ebb9@byu.net>
27073
27074         Add hex float support.
27075         * modules/strtod (Depends-on): Add c-ctype.
27076         (Link): Mention POW_LIB.
27077         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27078         whitespace between 'e' and exponent.
27079         * tests/test-strtod.c (main): Enable hex float tests.
27080         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27081         now provides.
27082
27083         Document various strtod bugs, with some fixes.
27084         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27085         "-0x", "inf", "nan", and hex constants.
27086         * doc/posix-functions/atof.texi (atof): Likewise.
27087         * modules/stdlib (Makefile.am): Support strtod.
27088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27089         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27090         detect additional strtod bugs.
27091         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27092         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27093         bool where appropriate.  Parse 'inf' and 'nan'.
27094         * tests/test-strtod.c: New file.
27095         * modules/strtod (Depends-on): Add stdbool, stdlib.
27096         (configure.ac): Turn on module indicator.
27097         * modules/strtod-tests: New module.
27098
27099 2008-03-29  Eric Blake  <ebb9@byu.net>
27100
27101         Fix ftell on mingw.
27102         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27103         * modules/ftell-tests (Depends-on): Add binary-io.
27104         * modules/ftello-tests (Depends-on): Likewise.
27105         * tests/test-ftell.c (main): Enhance test to cover behavior after
27106         ungetc.  Enforce binary mode.
27107         * tests/test-ftello.c (main): Likewise.
27108
27109         Pass test-freadseek on cygwin.
27110         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27111         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27112         ungetc buffer.
27113
27114         * tests/test-fflush2.c (main): Fix typo.
27115
27116 2008-03-29  Bruno Haible  <bruno@clisp.org>
27117
27118         * tests/test-fflush2.c (main): Temporarily disable the contents of
27119         this test.
27120         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27121         Reported by Eric Blake.
27122
27123 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27124
27125         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27126         (GC_SHA224_DIGEST_SIZE): Add.
27127
27128         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27129         (gc_hash_digest_length): Likewise.
27130         (gc_hash_buffer): Likewise.
27131
27132 2008-03-25  Bruno Haible  <bruno@clisp.org>
27133
27134         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27135         detail which gettext release to use.
27136         Reported by Simon Josefsson.
27137
27138 2008-03-26  Jim Meyering  <meyering@redhat.com>
27139
27140         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27141         * modules/gnumakefile (clean-GNUmakefile): Also, use
27142         test ... && ... || : syntax rather than if-then ... fi.
27143
27144         gnumakefile: Don't double-quote-expand $(VPATH) value.
27145         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27146
27147 2008-03-24  Eric Blake  <ebb9@byu.net>
27148
27149         Alter GNUmakefile to install into top directory.
27150         * modules/maintainer-makefile: Split, and add dependency...
27151         * modules/gnumakefile: to this new module.
27152         * build-aux/GNUmakefile: Move...
27153         * top/GNUmakefile: ...here.
27154         * build-aux/maint.mk: Move...
27155         * top/maint.mk: ...here.
27156         * MODULES.html.sh (Support for maintaining...): Document new
27157         module.
27158
27159 2008-03-23  Bruno Haible  <bruno@clisp.org>
27160
27161         * gnulib-tool: New options --vc-files, --no-vc-files.
27162         (func_usage): Document them.
27163         (vc_files): New variable.
27164         (func_import): Consider vc_files.
27165         (func_create_testdir): Set vc_files to empty.
27166         Suggested by Jim Meyering and Karl Berry.
27167
27168 2008-03-23  Bruno Haible  <bruno@clisp.org>
27169
27170         Fix regex compilation error on HP-UX 11.
27171         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
27172         * modules/regex (Files): Add m4/mbstate_t.m4.
27173         Reported by Ton Voon <ton.voon@altinity.com>.
27174
27175 2008-03-23  Bruno Haible  <bruno@clisp.org>
27176
27177         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
27178
27179 2008-03-23  Eric Blake  <ebb9@byu.net>
27180             Bruno Haible  <bruno@clisp.org>
27181
27182         Install files from top/ in the destination directory.
27183         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27184         augmentation also for the files from top/.
27185         (func_import, func_create_testdir): Rewrite file names:
27186         top/filename -> filename.
27187
27188 2008-03-23  Bruno Haible  <bruno@clisp.org>
27189
27190         Tweak "gnulib --version" output.
27191         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27192
27193 2008-03-23  Bruno Haible  <bruno@clisp.org>
27194
27195         Tweak "gnulib --version" output.
27196         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27197         rather than contents of ChangeLog, when possible.
27198
27199 2008-03-21  Eric Blake  <ebb9@byu.net>
27200
27201         More --version tweaks.
27202         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27203         date of last ChangeLog entry.
27204
27205 2008-03-21  Jim Meyering  <meyering@redhat.com>
27206
27207         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27208
27209 2008-03-20  Eric Blake  <ebb9@byu.net>
27210
27211         VPATH fix.
27212         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27213
27214 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27215
27216         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27217         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27218
27219 2008-03-20  Eric Blake  <ebb9@byu.net>
27220
27221         Sync GNUmakefile with coreutils.
27222         * build-aux/GNUmakefile (have-Makefile): Rename...
27223         (_have-Makefile): ...to this, for namespace consideration.
27224         (GNUmakefile.cfg): Include, if present.
27225         (_autoreconf): Define a default.
27226         (_is-dist-target): New rule for rebuilds to pick up intra-release
27227         version.
27228         (maint-cfg.mk): Rename...
27229         (cfg.mk): ...to this.
27230
27231 2008-03-18  Jim Meyering  <meyering@redhat.com>
27232
27233         New script and module: mktempd
27234         * MODULES.html.sh (maint+release support): Add mktempd.
27235         * build-aux/mktempd: New file.
27236         * modules/mktempd: New file.
27237
27238 2008-03-15  Jim Meyering  <meyering@redhat.com>
27239
27240         Undo last change.
27241         * lib/sha1.c, lib/md5.c: 63 != ~63.
27242         Reported by Andreas Schwab.
27243
27244         sha1.c, md5.c: Hoist a redundant expression.
27245         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27246         "ctx->buflen" only once, before calling *_process_block.
27247         * lib/md5.c (md5_process_bytes): Likewise.
27248
27249 2008-03-14  Eric Blake  <ebb9@byu.net>
27250
27251         Bump copyright year in files generated by gnulib-tool.
27252         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27253         gnulib-tool, rather than hard-coding it.
27254
27255         Fix 'gnulib-tool --version' output to work with git.
27256         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27257         (startup): ...here.
27258         (func_version): Use it to invoke git-version-gen, rather than
27259         relying on CVS keyword expansion.  Modernize wording.
27260         (cvsdatestamp, last_checkin_date, version): Kill unused
27261         variables.
27262
27263 2008-03-12  Jim Meyering  <meyering@redhat.com>
27264
27265         Recognize optional cast of the argument to free.
27266         * build-aux/useless-if-before-free: Update regexps.
27267
27268         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27269
27270 2008-03-11  Bruno Haible  <bruno@clisp.org>
27271
27272         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27273         by a single package.
27274         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27275         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27276         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27277         Reported by Sam Steingold <sds@gnu.org>.
27278
27279 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27280
27281         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27282         repositories.
27283
27284 2008-03-11  Bruno Haible  <bruno@clisp.org>
27285
27286         Avoid conflicts between local macro definitions.
27287         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27288         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27289
27290 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27291             Bruno Haible  <bruno@clisp.org>
27292
27293         Make va_copy work with some version of xlc on AIX 5.1.
27294         * lib/stdarg.in.h: New file.
27295         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27296         On AIX, use a <stdarg.h> file substitute.
27297         * modules/stdarg (Files): Add lib/stdarg.in.h.
27298         (Depends-on): Add include_next.
27299         (Makefile.am): Build a stdarg.h substitute if requested.
27300         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27301
27302 2008-03-10  Bruno Haible  <bruno@clisp.org>
27303
27304         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27305         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27306         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27307
27308 2008-03-10  Bruno Haible  <bruno@clisp.org>
27309
27310         * modules/stdlib (Depends-on): Add include_next, remove
27311         absolute-header.
27312
27313 2008-03-09  Bruno Haible  <bruno@clisp.org>
27314
27315         * lib/freadahead.h (freadahead): Document more precisely.
27316         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27317         the sum of both buffer sizes.
27318         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27319         * NEWS: Document the change.
27320
27321 2008-03-09  Bruno Haible  <bruno@clisp.org>
27322
27323         Extend freadptr to return also the buffer size.
27324         * lib/freadptr.h (freadptr): Add sizep argument.
27325         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27326         (freadptr): Add sizep argument. Determine buffer size like freadahead
27327         does.
27328         * tests/test-freadptr.c: Don't include freadahead.h.
27329         (main): Adapt for new calling convention of freadptr.
27330         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27331         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27332         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27333         tests/test-freadptr2.sh.
27334         (Depends): Remove freadahead.
27335         (TESTS): Add test-freadptr2.sh.
27336         (check_PROGRAMS): Add test-freadptr2.
27337
27338 2008-03-09  Bruno Haible  <bruno@clisp.org>
27339
27340         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27341         Report and solution by Simon Josefsson.
27342
27343 2008-03-06  Bruno Haible  <bruno@clisp.org>
27344
27345         Make fflush after ungetc work on BSD platforms.
27346         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27347         * tests/test-fflush2.c: New file.
27348         * tests/test-fflush2.sh: New file.
27349         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27350         tests/test-fflush2.c.
27351         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27352         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27353
27354 2008-03-06  Eric Blake  <ebb9@byu.net>
27355
27356         Likewise for ftello.
27357         * modules/ftello (Dependencies): Add extensions.
27358         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27359
27360 2008-03-06  Bruno Haible  <bruno@clisp.org>
27361
27362         * modules/fseeko (Dependencies): Add extensions.
27363         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27364         Needed on glibc systems.
27365
27366 2008-03-06  Bruno Haible  <bruno@clisp.org>
27367
27368         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27369         email address.
27370         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27371
27372 2008-03-06  Bruno Haible  <bruno@clisp.org>
27373
27374         * users.txt: Add libgnupdf.
27375
27376 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27377
27378         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27379         (Header File Substitutes, Function Substitutes,
27380         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27381         (Build robot for gnulib): Fix typo.
27382
27383 2008-03-06  Bruno Haible  <bruno@clisp.org>
27384
27385         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27386         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27387
27388 2008-03-06  Bruno Haible  <bruno@clisp.org>
27389
27390         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27391         * doc/gnulib.texi: Include it.
27392
27393 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27394
27395         * modules/func (License): Change license to unlimited; there was
27396         no LGPL parts in the module anyway.
27397
27398 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27399
27400         * modules/__func__: Renamed to modules/func.
27401         * modules/__func__-tests: Renamed to modules/func-tests.
27402         * tests/test-__func__.c: Renamed to tests/test-func.c.
27403         * m4/__func__.m4: Renamed to m4/func.m4.
27404         * doc/gnulib.texi (__func__): Section renamed to func.
27405         Suggested by Eric Blake <ebb9@byu.net>.
27406
27407 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27408
27409         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27410         about __func__.  Make example self-contained.  Suggested by Eric
27411         Blake <ebb9@byu.net>.
27412
27413         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27414         Suggested by Eric Blake <ebb9@byu.net>.
27415
27416 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27417
27418         * modules/__func__: New file.
27419         * modules/__func__-tests: New file.
27420         * tests/test-__func__.c: New file.
27421         * m4/__func__.m4: New file.
27422         * doc/gnulib.texi (__func__): Document __func__ module.
27423
27424 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27425
27426         * modules/byteswap (License): Re-license as LGPLv2+.
27427
27428 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27429
27430         * doc/Makefile: Add pdf target.
27431
27432 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27433
27434         * modules/inline (License): Use 'unlimited', since there are only
27435         *.m4 files in this module.
27436
27437 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27438             Bruno Haible  <bruno@clisp.org>
27439
27440         Add support for HP C 7.1 on OpenVMS 8.3.
27441         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27442
27443 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27444
27445         Update VMS specifics.
27446         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27447
27448 2008-03-02  Jim Meyering  <meyering@redhat.com>
27449
27450         Remove the last dependency on the "free" module.
27451         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27452         Reported by Bob Proulx.
27453
27454         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27455
27456         Remove useless "if" tests before free.  Deprecate "free" module.
27457         * doc/posix-functions/free.texi: Mention that this
27458         module is no longer useful.
27459         * modules/free (Notice): Say this module is obsolete.
27460         * modules/readutmp (Depends-on): Remove free.
27461         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27462         * lib/putenv.c (putenv): Likewise.
27463         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27464         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27465         * tests/test-c-strcasestr.c (main): Likewise.
27466         * tests/test-c-strstr.c (main): Likewise.
27467         * tests/test-mbscasestr1.c (main): Likewise.
27468         * tests/test-mbscasestr2.c (main): Likewise.
27469         * tests/test-mbsstr1.c (main): Likewise.
27470         * tests/test-mbsstr2.c (main): Likewise.
27471         * tests/test-memmem.c (main): Likewise.
27472         * tests/test-strcasestr.c (main): Likewise.
27473         * tests/test-striconv.c (main): Likewise.
27474         * tests/test-striconveh.c (main): Likewise.
27475         * tests/test-striconveha.c (main): Likewise.
27476         * tests/test-strstr.c (main): Likewise.
27477
27478         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27479
27480         bootstrap: sync from coreutils again
27481         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27482
27483 2008-03-01  Jim Meyering  <meyering@redhat.com>
27484
27485         bootstrap: sync from coreutils
27486         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27487         also when the target doesn't exist.
27488
27489 2008-03-01  Eric Blake  <ebb9@byu.net>
27490
27491         Fix bugs in last patch.
27492         * lib/memchr2.c (memchr2): Fix typo.
27493         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27494         extension.
27495         Reported by Bruce Korb.
27496
27497         New module 'memchr2'.
27498         * modules/memchr2: New file.
27499         * modules/memchr2-tests: Likewise.
27500         * lib/memchr2.h: Likewise.
27501         * lib/memchr2.c: Likewise, based on memchr.c.
27502         * tests/test-memchr2.c: New test.
27503         * MODULES.html.sh (String handling): Add memchr2.
27504
27505 2008-02-29  Bruno Haible  <bruno@clisp.org>
27506
27507         * modules/freadseek-tests: New file.
27508         * tests/test-freadseek.sh: New file.
27509         * tests/test-freadseek.c: New file.
27510
27511         New module 'freadseek'.
27512         * modules/freadseek: New file.
27513         * lib/freadseek.h: New file.
27514         * lib/freadseek.c: New file.
27515         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27516
27517 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27518
27519         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27520         wydawca.
27521
27522         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27523         program_invocation_name and program_invocation_short_name are
27524         present.
27525
27526 2008-02-28  Bruno Haible  <bruno@clisp.org>
27527
27528         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27529         * tests/test-freadptr.sh: Also test non-seekable stdin.
27530
27531 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27532
27533         * build-aux/bootstrap (source_base, m4_base)
27534         (doc_base, tests_base): New variables.
27535         (gnulib_tool_options): Do not hardcode base directories, use
27536         the above variables instead.
27537
27538 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27539
27540         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27541
27542 2008-02-28  Bruno Haible  <bruno@clisp.org>
27543
27544         * modules/freadptr-tests: New file.
27545         * tests/test-freadptr.sh: New file.
27546         * tests/test-freadptr.c: New file.
27547
27548         New module 'freadptr'.
27549         * modules/freadptr: New file.
27550         * lib/freadptr.h: New file.
27551         * lib/freadptr.c: New file.
27552         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27553
27554 2008-02-26  Karl Berry  <karl@freefriends.org>
27555
27556         Sync from Libtool:
27557         * libltdl/argz.c (argz_add, argz_count): New functions.
27558         * libltdl/argz.in.h: Declare them.
27559         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27560
27561 2008-02-22  Bruno Haible  <bruno@clisp.org>
27562
27563         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27564         is a pointer type.  Needed for HP-UX 10.
27565         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27566         * doc/posix-functions/gmtime_r.texi: Likewise.
27567         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27568
27569 2008-02-24  Bruno Haible  <bruno@clisp.org>
27570
27571         * modules/environ-tests: New file.
27572         * tests/test-environ.c: New file.
27573
27574         New module 'environ'.
27575         * modules/environ: New file.
27576         * lib/unistd.in.h (environ): New declaration.
27577         * m4/environ.m4: New file.
27578         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27579         after use.
27580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27581         HAVE_DECL_ENVIRON.
27582         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27583         HAVE_DECL_ENVIRON.
27584         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27585         wrong claim that 'environ' is missing on some systems.
27586         * modules/execute (Depends-on): Add environ.
27587         * lib/execute.c (environ): Remove fallback declaration.
27588         * modules/pipe (Depends-on): Add environ.
27589         * lib/pipe.c (environ): Remove fallback declaration.
27590         * modules/setenv (Depends-on): Add environ.
27591         * lib/setenv.c (environ): Remove fallback declaration.
27592         * modules/unsetenv (Depends-on): Add environ.
27593         * lib/unsetenv.c (environ): Remove fallback declaration.
27594         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27595         m4/environ.m4.
27596         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27597         (gl_PREREQ_UNSETENV): Likewise.
27598
27599 2008-02-24  Bruno Haible  <bruno@clisp.org>
27600
27601         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27602
27603 2008-02-20  Bob Proulx  <bob@proulx.com>
27604
27605         Enable use of older two part flavor 'git describe'.
27606         * build-aux/git-version-gen: If using the older two part flavor of
27607         git version then recreate the third part now present in the
27608         newer three part flavor of git describe.
27609
27610 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27611
27612         * lib/fts.c (fts_build): Typo correction to comment.
27613
27614 2008-02-17  Bruno Haible  <bruno@clisp.org>
27615
27616         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27617         generating no-op conflicts.
27618
27619 2008-02-17  Bruno Haible  <bruno@clisp.org>
27620
27621         Speed up by 10%.
27622         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27623         result_entries, rather than an index-based loop.
27624
27625 2008-02-17  Bruno Haible  <bruno@clisp.org>
27626
27627         Speed up by 25%.
27628         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27629         'hashcode_cached'.
27630         (entry_create): New function.
27631         (entry_hashcode): Use the cached hashcode if possible.
27632         (read_changelog_file, try_split_merged_entry): Use entry_create.
27633
27634 2008-02-17  Bruno Haible  <bruno@clisp.org>
27635
27636         Speed up from O(n^2) to O(n) for long ChangeLog files.
27637         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27638         (read_changelog_file): Change implementation of entries_reversed list
27639         to rbtreehash.
27640         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
27641
27642 2008-02-17  Bruno Haible  <bruno@clisp.org>
27643
27644         New option --split-merged-entry.
27645         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
27646         (find_paragraph_end, try_split_merged_entry): New functions.
27647         (long_options): Add option --split-merged-entry.
27648         (usage): Document option --split-merged-entry.
27649         (main): Implement option --split-merged-entry.
27650         Reported by Eric Blake.
27651
27652 2008-02-17  Bruno Haible  <bruno@clisp.org>
27653
27654         * lib/git-merge-changelog.c: Include c-strstr.h.
27655         (main): Support the "git pull --rebase" situation.
27656         * modules/git-merge-changelog (Depends-on): Add c-strstr.
27657         Reported by Eric Blake.
27658
27659 2008-02-16  Eric Blake  <ebb9@byu.net>
27660
27661         Avoid doubling \ in common case of "c-maybe" quoting style.
27662         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
27663         eliding outer quotes.
27664         * lib/quotearg.h: Document this.
27665         * tests/test-quotearg.c (result_strings, inputs, results_g)
27666         (flag_results, locale_results): Test it by adding a new string to
27667         each test group.
27668         (compare_strings): Test new string.
27669
27670 2008-02-13  Eric Blake  <ebb9@byu.net>
27671
27672         Avoid trigraph quoting in default output.
27673         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
27674         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
27675         unless explicitly requested.
27676         * tests/test-quotearg.c (flag_results, main): Add additional tests.
27677
27678 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
27679
27680         Don't rely on signed integer overflowing to negative value.
27681         * lib/getugroups.c (getugroups): Include <limits.h>.
27682         Instead, compare against INT_MAX, and increment only if the test passes.
27683
27684 2008-02-13  Jim Meyering  <meyering@redhat.com>
27685         and Eric Blake  <ebb9@byu.net>
27686
27687         Avoid shadowing warning and compile errors on Linux.
27688         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
27689         forwarding macros on Linux.
27690         (dcgettext): Define a stub, for Linux.
27691         (results_g, main): Avoid warnings.
27692
27693 2008-02-12  Eric Blake  <ebb9@byu.net>
27694
27695         Silence warning in last patch.
27696         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
27697
27698         Quotearg part 4: add tests, fix c-maybe colon quoting.
27699         * lib/quotearg.h: Improve documentation.
27700         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
27701         escapes when adding outer quotes.  When quoting trigraphs, use
27702         valid C notation.  When quoting NUL, omit extra characters if next
27703         character is not digit.  Alter prototype.
27704         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
27705         callers.
27706         * modules/quotearg-tests: New module.
27707         * tests/test-quotearg.c: New test.
27708
27709 2008-02-07  Eric Blake  <ebb9@byu.net>
27710
27711         Quotearg part 3: add flag to control outer quote elision.
27712         * lib/quotearg.h (c_maybe_quoting_style): New style.
27713         (enum quoting_flags): Better documentation of flags.
27714         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
27715         c-maybe style.
27716         (quotearg_buffer_restyled): Handle new flag to elide outer
27717         quotes.
27718
27719         Quotearg part 2: add flag that can control NUL elision.
27720         * lib/quotearg.h (set_quoting_flags): New prototype.
27721         * lib/quotearg.c (struct quoting_options): Add flag field.
27722         (set_quoting_flags): New function.
27723         (quotearg_buffer_restyled): Add flags parameter.
27724         (quotearg_alloc_mem): Set the flag if length cannot be returned.
27725         (quotearg_n_options): Set the flag, since length cannot be
27726         returned.
27727         (quoting_options_from_style): Default flags correctly.
27728
27729         Quotearg part 1: more wrappers, restore quotearg_char state.
27730         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
27731         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
27732         (quotearg_colon_mem): New wrappers.
27733         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
27734         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
27735         functions.
27736         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
27737         (quotearg_colon_mem): New functions.
27738
27739 2008-02-11  Bruno Haible  <bruno@clisp.org>
27740
27741         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
27742         library in the current directory: it does not work with parallel make.
27743         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27744
27745 2008-02-11  Bruno Haible  <bruno@clisp.org>
27746
27747         * .gitattributes: New file.
27748
27749 2008-02-11  Jim Meyering  <meyering@redhat.com>
27750
27751         useless-if-before-free: Fix reversed exit values.
27752         * build-aux/useless-if-before-free: Use correct values
27753         for EXIT_MATCH and EXIT_NO_MATCH.
27754
27755         * build-aux/useless-if-before-free: Close stdout carefully.
27756
27757 2008-02-10  Bruno Haible  <bruno@clisp.org>
27758
27759         New module 'git-merge-changelog'.
27760         * modules/git-merge-changelog: New file.
27761         * lib/git-merge-changelog.c: New file.
27762
27763 2008-02-10  Jim Meyering  <meyering@redhat.com>
27764
27765         useless-if-before-free: New option: --list (-l).
27766
27767         useless-if-before-free: Don't exit immediately upon open failure.
27768         * build-aux/useless-if-before-free: Exit 2 for errors.
27769         Upon failure to open a file, don't exit immediately.
27770         Rather, just warn and continue with any remaining files.
27771
27772 2008-02-10  Bruno Haible  <bruno@clisp.org>
27773
27774         New abstract list operation 'node_set_value'.
27775         * lib/gl_list.h (gl_list_node_set_value): New function.
27776         (struct gl_list_implementation): New field node_set_value.
27777         * lib/gl_list.c (gl_list_node_set_value): New function.
27778         * lib/gl_array_list.c (gl_array_node_set_value): New function.
27779         (gl_array_list_implementation): Update.
27780         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
27781         (gl_carray_list_implementation): Update.
27782         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
27783         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
27784         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
27785         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
27786         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
27787         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
27788         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
27789         Update.
27790         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
27791         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
27792         (gl_sublist_list_implementation): Update.
27793
27794 2008-02-10  Bruno Haible  <bruno@clisp.org>
27795
27796         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
27797         Needed when ELEMENT is #defined to 'some_type *'.
27798
27799 2008-02-10  Jim Meyering  <meyering@redhat.com>
27800
27801         New script and module: useless-if-before-free
27802         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
27803         * build-aux/useless-if-before-free: New file.
27804         * modules/useless-if-before-free: New file.
27805
27806         * build-aux/gitlog-to-changelog: Use committer date, not author date.
27807
27808         xstrtol_error: Fix typo.
27809         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
27810         s/exit_failure/exit_status/.
27811
27812 2008-02-09  Jim Meyering  <meyering@redhat.com>
27813
27814         New script and module: gitlog-to-changelog
27815         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
27816         * modules/gitlog-to-changelog: New file.
27817         * build-aux/gitlog-to-changelog: New file.
27818
27819 2008-02-08  Jim Meyering  <meyering@redhat.com>
27820
27821         Avoid two "parameter unused" warnings.
27822         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
27823         Mark "st" as used.
27824
27825         Use "git COMMAND", not "git-COMMAND".
27826         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
27827         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
27828         * build-aux/git-version-gen: Use "git status", not "git-status".
27829
27830 2008-02-07  Bruno Haible  <bruno@clisp.org>
27831
27832         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
27833         Avoids a crash on Windows Vista.
27834         Reported by Adam Strzelecki <ono@java.pl> via
27835         Simon Josefsson <simon@josefsson.org>.
27836
27837 2008-02-06  Bruno Haible  <bruno@clisp.org>
27838
27839         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
27840         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
27841         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
27842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
27843         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27844         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27845         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
27846         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
27847         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27848         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27849         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27850         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27851         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27854         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
27855         left-adjust flag.
27856         * tests/test-snprintf-posix.h (test_function): Likewise.
27857         * tests/test-sprintf-posix.h (test_function): Likewise.
27858         * tests/test-vasprintf-posix.c (test_function): Likewise.
27859         * doc/posix-functions/fprintf.texi: Update.
27860         * doc/posix-functions/printf.texi: Update.
27861         * doc/posix-functions/snprintf.texi: Update.
27862         * doc/posix-functions/sprintf.texi: Update.
27863         * doc/posix-functions/vfprintf.texi: Update.
27864         * doc/posix-functions/vprintf.texi: Update.
27865         * doc/posix-functions/vsnprintf.texi: Update.
27866         * doc/posix-functions/vsprintf.texi: Update.
27867         Reported by Peter Fales <psfales@alcatel-lucent.com>.
27868
27869 2008-02-06  Bruno Haible  <bruno@clisp.org>
27870
27871         Fix bug introduced on 2008-01-26.
27872         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
27873
27874 2008-02-06  Bruno Haible  <bruno@clisp.org>
27875
27876         Fix bug introduced on 2007-06-10.
27877         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
27878         !NEED_PRINTF_FLAG_ZERO.
27879
27880 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
27881
27882         getloadavg: use libperfstat on AIX5
27883         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
27884
27885 2008-02-03  Bruno Haible  <bruno@clisp.org>
27886
27887         * lib/diffseq.h: Add comments about required #includes.
27888         Reported by Michael Biggs <gnulib@doubleplum.net>.
27889
27890 2008-02-01  Bruno Haible  <bruno@clisp.org>
27891
27892         * users.txt: Add gnuit.
27893
27894 2008-01-31  Bruno Haible  <bruno@clisp.org>
27895
27896         * lib/md4.c (set_uint32): Mark as inline.
27897         * lib/md5.c (set_uint32): Likewise.
27898         * lib/sha1.c (set_uint32): Likewise.
27899         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
27900         * m4/md5.m4 (gl_MD5): Likewise.
27901         * m4/sha1.m4 (gl_SHA1): Likewise.
27902
27903 2008-01-31  Jim Meyering  <meyering@redhat.com>
27904
27905         Use "sizeof VAR", rather than a literal "4".
27906         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
27907         * lib/md4.c (md4_read_ctx): Likewise.
27908         * lib/sha1.c (sha1_read_ctx): Likewise.
27909
27910 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27911
27912         * tests/test-sha1.c: New file, based on test-md5.c.
27913
27914         * modules/crypto/sha1-tests: New file.
27915
27916 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27917
27918         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
27919
27920 2008-01-31  Jim Meyering  <meyering@redhat.com>
27921
27922         Prefer "sizeof v" over the equivalent "4".
27923         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
27924         * lib/md5.c (set_uint32): Likewise.
27925         * lib/sha1.c (set_uint32): Likewise.
27926
27927 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27928
27929         * lib/sha1.c (set_uint32): Mark function as static.
27930
27931 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27932
27933         md2: clarify comments to say that alignment is not required.
27934         * lib/md2.h: Remove warning about alignment in comment.
27935         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
27936         never been required.
27937
27938 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27939
27940         md4: adapt alignment constraint fix from sha1.
27941         * lib/md4.c (set_uint32): New function, from sha1.c
27942         (md4_read_ctx): Use it.
27943         (md4_finish_ctx): Doc fix.
27944         * lib/md4.h: Doc fix.
27945
27946 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27947
27948         md5: adapt alignment constraint fix from sha1.
27949         * lib/md5.c (set_uint32): New function, from sha1.c
27950         (md5_read_ctx): Use it.
27951         (md5_finish_ctx): Doc fix.
27952         * lib/md5.h: Doc fix.
27953
27954 2008-01-30  Peter Palfrader  <weasel@debian.org>
27955
27956         sha1: remove the result buffer alignment constraint
27957         * lib/sha1.c (set_uint32): New function.
27958         (sha1_read_ctx): Rewrite to remove the result buffer alignment
27959         constraint.
27960         (sha1_finish_ctx): Remove comment warning about alignment constraint.
27961         * lib/sha1.h: Likewise.
27962
27963 2008-01-30  Andreas Schwab  <schwab@suse.de>
27964             Bruno Haible  <bruno@clisp.org>
27965
27966         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
27967         correct definition of LDBL_MIN_EXP.
27968
27969 2008-01-30  Karl Berry  <karl@gnu.org>
27970
27971         * config/srclist-update: try to preserve x bit on updates.
27972         * config/srclistvars.sh: update for karl.
27973
27974 2008-01-29  Jim Meyering  <meyering@redhat.com>
27975
27976         vasnprintf.c: Avoid warning about unused label
27977         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
27978         "overflow" label definition and associated code with the
27979         same cpp condition that guards the sole use of that label.
27980
27981 2008-01-26  Bruno Haible  <bruno@clisp.org>
27982
27983         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
27984         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
27985         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
27986         * lib/isnanl-nolibm.h (isnanl): Likewise.
27987         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27988
27989 2008-01-26  Bruno Haible  <bruno@clisp.org>
27990
27991         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
27992         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
27993
27994 2008-01-26  Bruno Haible  <bruno@clisp.org>
27995
27996         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
27997         GCC >= 4.0 built-in.
27998         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
27999
28000 2008-01-26  Bruno Haible  <bruno@clisp.org>
28001
28002         Rename isnan, applicable to 'double' only, to isnand.
28003         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28004         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28005         (configure.ac): Update.
28006         (Include): Replace "isnan.h" with "isnand.h".
28007         * m4/isnand.m4: Renamed from m4/isnan.m4.
28008         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28009         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28010         instead of isnan.c.
28011         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28012         instead of HAVE_ISNAN_IN_LIBC.
28013         (isnand): Renamed from isnan.
28014         * lib/isnand.c: New file.
28015         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28016         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28017         (Makefile.am): Update.
28018         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28019         Include isnand.h instead of isnan.h.
28020         (main): Test isnand instead of isnan.
28021         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28022         isnan-nolibm.
28023         * modules/frexp (Depends-on): Likewise.
28024         * modules/frexp-tests (Depends-on): Likewise.
28025         * modules/frexp-nolibm (Depends-on): Likewise.
28026         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28027         * modules/isfinite (Depends-on): Likewise.
28028         * modules/round-tests (Depends-on): Likewise.
28029         * modules/signbit (Depends-on): Likewise.
28030         * modules/signbit-tests (Depends-on): Likewise.
28031         * modules/snprintf-posix (Depends-on): Likewise.
28032         * modules/sprintf-posix (Depends-on): Likewise.
28033         * modules/trunc-tests (Depends-on): Likewise.
28034         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28035         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28036         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28037         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28038         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28039         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28040         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28041         * modules/vasnprintf-posix (Depends-on): Likewise.
28042         * modules/vasprintf-posix (Depends-on): Likewise.
28043         * modules/vfprintf-posix (Depends-on): Likewise.
28044         * modules/vsnprintf-posix (Depends-on): Likewise.
28045         * modules/vsprintf-posix (Depends-on): Likewise.
28046         * lib/frexp.c: Include isnand.h instead of isnan.h.
28047         (ISNAN): Set to isnand instead of isnan.
28048         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28049         (gl_isfinited): Use isnand instead of isnan.
28050         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28051         (gl_signbitd): Use isnand instead of isnan.
28052         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28053         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28054         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28055         (main): Use isnand instead of isnan.
28056         * tests/test-round1.c: Include isnand.h.
28057         (main): Use isnand instead of isnan.
28058         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28059         (ISNAN): Set to isnand instead of isnan.
28060         * tests/test-trunc1.c: Include isnand.h.
28061         (main): Use isnand instead of isnan.
28062         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28063         (equal): Use isnand instead of isnan.
28064         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28065         isnand-nolibm.
28066         * NEWS: Mention the change.
28067
28068 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28069             Bruno Haible  <bruno@clisp.org>
28070
28071         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28072         the GCC builtins for signbits are present and set
28073         REPLACE_SIGNBIT_USING_GCC if so.
28074         * lib/math.in.h (signbit): Define using GCC builtins if
28075         REPLACE_SIGNBIT_USING_GCC is set.
28076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28077         REPLACE_SIGNBIT_USING_GCC.
28078         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28079
28080 2008-01-25  Jim Meyering  <meyering@redhat.com>
28081
28082         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28083         * lib/poll.c: Include <config.h>, not "config.h".
28084         * tests/test-getaddrinfo.c: Likewise.
28085
28086 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28087
28088         * modules/sockets-tests: New file.
28089
28090 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28091
28092         * modules/sockets: New module, can be used to call WSA_Startup and
28093         WSA_Cleanup when needed.
28094
28095         * lib/sockets.h, lib/sockets.c: New files.
28096
28097         * m4/sockets.m4: New file.
28098
28099         * tests/test-sockets.c: New file.
28100
28101 2008-01-19  Bruno Haible  <bruno@clisp.org>
28102
28103         * doc/posix-headers: Renamed from doc/headers.
28104         * doc/posix-functions: Renamed from doc/functions.
28105         * doc/gnulib.texi: Update.
28106
28107 2008-01-19  Bruno Haible  <bruno@clisp.org>
28108
28109         * doc/glibc-functions/strcasestr.texi: Include contents of
28110         doc/functions/strcasestr.texi, fixing the list of platforms.
28111         * doc/functions/strcasestr.texi: Remove file.
28112
28113 2008-01-19  Bruno Haible  <bruno@clisp.org>
28114
28115         * doc/glibc-functions/memmem.texi: Include contents of
28116         doc/functions/memmem.texi.
28117         * doc/functions/memmem.texi: Remove file.
28118
28119 2008-01-18  Bruno Haible  <bruno@clisp.org>
28120
28121         * doc/glibc-functions/*.texi: New files.
28122         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28123         to use the new files.
28124
28125 2008-01-17  Bruno Haible  <bruno@clisp.org>
28126
28127         * tests/test-gethostname.c (main): Fix printf statement.
28128
28129 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28130
28131         * modules/gethostname-tests: New file.
28132
28133         * tests/test-gethostname.c: New file.
28134
28135 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28136
28137         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28138         used by the UNAME case.  Reported by Bruno Haible
28139         <bruno@clisp.org>.
28140
28141 2008-01-17  Eric Blake  <ebb9@byu.net>
28142
28143         Convert c-strcasestr to be more efficient.
28144         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28145         (Depends-on): Add c-strcase, remove malloca, strnlen.
28146         * tests/test-c-strcasestr.c (main): Enhance test.
28147         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28148
28149 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28150
28151         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28152         Use it in creating po/Makevars.
28153
28154 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28155
28156         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
28157         Applications that requires it should initialize libgcrypt
28158         manually.
28159
28160 2008-01-16  Simon Josefsson  <simon@josefsson.org>
28161
28162         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
28163
28164 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28165
28166         Fix problem with getdate on mingw32 reported by Simon Josefsson
28167         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
28168         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
28169         tzname", when deciding whether to declare tzname.
28170         * lib/strftime.c (tzname): Likewise.
28171
28172 2008-01-15  Bruno Haible  <bruno@clisp.org>
28173
28174         Work around a MacOS X 10.5 bug in frexpl().
28175         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
28176         * doc/functions/frexpl.texi: Document the bug.
28177         Reported by Elias Pipping <pipping@gentoo.org>.
28178
28179 2008-01-14  Eric Blake  <ebb9@byu.net>
28180
28181         Touch up previous patch.
28182         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
28183         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
28184
28185         Convert strcasestr module to use Two-Way algorithm.
28186         * modules/strcasestr-simple: New module, based on the old
28187         strcasestr, but with Two-Way rather than KMP.
28188         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28189         * lib/string.in.h (rpl_strcasestr): Declare.
28190         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28191         performance.
28192         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28193         * modules/string (Makefile.am): Support strcasestr.
28194         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28195         * modules/strcasestr-tests (Depends-on): Check for alarm.
28196         * tests/test-strcasestr.c: Augment test.
28197         * lib/str-two-way.h: Clean up stray macro.
28198         * NEWS: Document new module.
28199         * MODULES.html.sh (string handling): Likewise.
28200         * doc/functions/strcasestr.texi: New file.
28201         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28202         here, since it is not a POSIX function.
28203
28204 2008-01-14  Colin Watson  <cjwatson@debian.org>
28205             Bruno Haible  <bruno@clisp.org>
28206
28207         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28208         works fine; if not, set REPLACE_STRSIGNAL.
28209         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28210         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28211         REPLACE_STRSIGNAL.
28212         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28213         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28214         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28215
28216 2008-01-14  Bruno Haible  <bruno@clisp.org>
28217
28218         * modules/strsignal (Include): Change to <string.h>.
28219
28220 2008-01-14  Colin Watson  <cjwatson@debian.org>
28221
28222         * modules/argp (Notice): Add a notice recommending to change
28223         XGETTEXT_OPTIONS.
28224         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28225
28226 2008-01-13  Colin Watson  <cjwatson@debian.org>
28227
28228         * modules/strsignal-tests: New file.
28229         * tests/test-strsignal.c: New file.
28230
28231         * lib/strsignal.c: New file, from glibc with modifications.
28232         * lib/siglist.h: New file, from glibc with modifications.
28233         * lib/string.in.h (strsignal): New declaration.
28234         * m4/strsignal.m4: New file.
28235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28236         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28237         * modules/strsignal: New file.
28238         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28239         HAVE_DECL_STRSIGNAL.
28240
28241 2008-01-13  Bruno Haible  <bruno@clisp.org>
28242
28243         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28244         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28245         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28246         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28247
28248 2008-01-13  Bruno Haible  <bruno@clisp.org>
28249
28250         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28251         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28252         * lib/argp.h (__attribute__): Likewise.
28253         * lib/c-stack.c (__attribute__): Likewise.
28254         * lib/error.h (__attribute__): Likewise.
28255         * lib/fts.c (__attribute__): Likewise.
28256         * lib/openat.h (__attribute__): Likewise.
28257         * lib/stdio.in.h (__attribute__): Likewise.
28258         * lib/string.in.h (__attribute__): Likewise.
28259         * lib/utimens.c (__attribute__): Likewise.
28260         * lib/vasnprintf.h (__attribute__): Likewise.
28261         * lib/xalloc.h (__attribute__): Likewise.
28262         * lib/xprintf.h (__attribute__): Likewise.
28263         * lib/xstrtol.h (__attribute__): Likewise.
28264         * lib/xvasprintf.h (__attribute__): Likewise.
28265
28266 2008-01-12  Bruno Haible  <bruno@clisp.org>
28267
28268         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28269         * doc/glibc-headers/a.out.texi: New file.
28270         * doc/glibc-headers/aliases.texi: New file.
28271         * doc/glibc-headers/alloca.texi: New file.
28272         * doc/glibc-headers/ar.texi: New file.
28273         * doc/glibc-headers/argp.texi: New file.
28274         * doc/glibc-headers/argz.texi: New file.
28275         * doc/glibc-headers/byteswap.texi: New file.
28276         * doc/glibc-headers/crypt.texi: New file.
28277         * doc/glibc-headers/endian.texi: New file.
28278         * doc/glibc-headers/envz.texi: New file.
28279         * doc/glibc-headers/err.texi: New file.
28280         * doc/glibc-headers/error.texi: New file.
28281         * doc/glibc-headers/execinfo.texi: New file.
28282         * doc/glibc-headers/fpu_control.texi: New file.
28283         * doc/glibc-headers/fstab.texi: New file.
28284         * doc/glibc-headers/fts.texi: New file.
28285         * doc/glibc-headers/getopt.texi: New file.
28286         * doc/glibc-headers/ieee754.texi: New file.
28287         * doc/glibc-headers/ifaddrs.texi: New file.
28288         * doc/glibc-headers/libintl.texi: New file.
28289         * doc/glibc-headers/mcheck.texi: New file.
28290         * doc/glibc-headers/mntent.texi: New file.
28291         * doc/glibc-headers/obstack.texi: New file.
28292         * doc/glibc-headers/paths.texi: New file.
28293         * doc/glibc-headers/printf.texi: New file.
28294         * doc/glibc-headers/pty.texi: New file.
28295         * doc/glibc-headers/resolv.texi: New file.
28296         * doc/glibc-headers/shadow.texi: New file.
28297         * doc/glibc-headers/sysexits.texi: New file.
28298         * doc/glibc-headers/ttyent.texi: New file.
28299
28300 2008-01-12  Jim Meyering  <meyering@redhat.com>
28301
28302         announce-gen: emit Gnulib's git-based version string.
28303         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28304         New option --gnulib-version=V, where V is expected to be
28305         the output of running git describe in the gnulib directory.
28306         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28307         not useful, and plan to stop publishing an xdelta file with each
28308         coreutils release.
28309
28310         * build-aux/announce-gen: Also check for lzma-compressed files.
28311
28312 2008-01-11  Bruno Haible  <bruno@clisp.org>
28313
28314         * tests/test-memmem.c (main): Increase maximum allowed time.
28315         * tests/test-strstr.c (main): Likewise.
28316
28317 2008-01-11  Bruno Haible  <bruno@clisp.org>
28318
28319         * doc/functions/memmem.texi: Add more precisions about platforms.
28320         * doc/functions/strstr.texi: Likewise.
28321
28322 2008-01-10  Eric Blake  <ebb9@byu.net>
28323
28324         * m4/strstr.m4: Delete cruft from copy-n-paste.
28325         Reported by Bruno Haible.
28326
28327 2008-01-10  Bruno Haible  <bruno@clisp.org>
28328
28329         Make c-strstr rely on strstr.
28330         * lib/c-strstr.c: Don't include str-kmp.h.
28331         (c_strstr): Define in terms of strstr.
28332         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28333         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28334
28335 2008-01-10  Bruno Haible  <bruno@clisp.org>
28336
28337         * doc/gnulib.texi (String Functions in C Locale): New section.
28338         * doc/c-ctype.texi: New file.
28339         * doc/c-strcase.texi: New file.
28340         * doc/c-strcaseeq.texi: New file.
28341         * doc/c-strcasestr.texi: New file.
28342         * doc/c-strstr.texi: New file.
28343         * doc/c-strtod.texi: New file.
28344         * doc/c-strtold.texi: New file.
28345
28346 2008-01-10  Eric Blake  <ebb9@byu.net>
28347
28348         * lib/relocatable.h: Fix a comment.
28349
28350 2008-01-10  Eric Blake  <ebb9@byu.net>
28351
28352         Share two-way algorithm.
28353         * lib/str-two-way.h: New file, merged from...
28354         * lib/memmem.c: ...here...
28355         * lib/strstr.c: ...and here.
28356         * modules/memmem (Files): Use it.
28357         * modules/strstr (Files): Likewise.
28358
28359         Avoid quadratic strstr implementations.
28360         * lib/strstr.c: New file.
28361         * m4/strstr.m4: Likewise.
28362         * modules/strstr: Likewise.
28363         * modules/strstr-tests: Likewise.
28364         * tests/test-strstr.c: Likewise.
28365         * lib/string.in.h (rpl_strstr): Declare.
28366         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28367         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28368         * modules/string (Makefile.am): Likewise.
28369         * MODULES.html.sh (string handling): Mention new module.
28370         * doc/functions/strstr.texi (strstr): Document the bug.
28371
28372 2008-01-10  Bruno Haible  <bruno@clisp.org>
28373
28374         * lib/relocatable.h (relocate): State whether result is freshly
28375         allocated or not.
28376         * lib/relocatable.c (relocate): Return a freshly allocated string
28377         instead of a pointer to a privately held string.
28378         Reported by Sylvain Beucler <beuc@gnu.org>.
28379
28380 2008-01-10  Colin Watson  <cjwatson@debian.org>
28381
28382         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28383         s/S_ISNLK/S_ISLNK/.
28384
28385 2008-01-09  Bruno Haible  <bruno@clisp.org>
28386
28387         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28388         and other files.
28389         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28390         if it's only a guess.
28391         * modules/memmem: Simplify by depending on memmem-simple.
28392
28393 2008-01-09  Bruno Haible  <bruno@clisp.org>
28394
28395         Work around OpenBSD 4.0 tdelete() bug.
28396         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28397         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28398         macros and don't redefine the enum values.
28399         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28400         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28401         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28402
28403 2008-01-09  Bruno Haible  <bruno@clisp.org>
28404
28405         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28406         (main): Don't perform the tests if setlocale did not install a UTF-8
28407         locale. Needed on OpenBSD 4.0.
28408         * modules/wcwidth-tests (Depends-on): Add localcharset.
28409
28410 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28411
28412         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28413         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28414         * NEWS: announce this.
28415         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28416
28417 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28418         and Eric Blake  <ebb9@byu.net>
28419
28420         Add memmem-simple module.
28421         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28422         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28423         * modules/memmem-simple: New file.
28424         * modules/memmem (Description): Tweak.
28425         * MODULES.html.sh (string handling): Mention new module.
28426         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28427         addressed by memmem-simple.
28428         * NEWS: Document the difference.
28429
28430 2008-01-09  Eric Blake  <ebb9@byu.net>
28431
28432         Give gcc some memmem optimization hints.
28433         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28434         (strcasestr): Declare as pure.
28435         * modules/memmem (Maintainer): Claim my implementation.
28436
28437 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28438
28439         Support AIX 6.1 and higher.
28440         * build-aux/config.libpath: Likewise.
28441         * build-aux/config.rpath: Likewise.
28442
28443 2008-01-08  Jim Meyering  <meyering@redhat.com>
28444             Bruno Haible  <bruno@clisp.org>
28445
28446         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28447         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28448         Reported by Peter Fales in
28449         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28450
28451 2008-01-08  Bruno Haible  <bruno@clisp.org>
28452
28453         * modules/unictype/category-of (Depends-on): Add
28454         unictype/category-none.
28455         * modules/unictype/category-and-tests (Depends-on): Add
28456         unictype/category-{L,N,Lu,Nd}.
28457         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28458         * modules/unictype/category-or-tests (Depends-on): Add
28459         unictype/category-{L,N}.
28460         * modules/unictype/category-name-tests (Depends-on): Add
28461         unictype/category-{Z,Nl}.
28462         Reported by Simon Josefsson.
28463
28464 2008-01-08  Bruno Haible  <bruno@clisp.org>
28465
28466         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28467         convention better.
28468         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28469         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28470         Reported by Peter Miller <millerp@canb.auug.org.au>.
28471
28472 2008-01-08  Eric Blake  <ebb9@byu.net>
28473
28474         Rewrite memmem to guarantee linear complexity without malloc.
28475         * lib/memmem.c (memmem): Use Two-Way rather than
28476         Knuth-Morris-Pratt, to allow O(1) space usage.
28477         (critical_factorization, two_way_short_needle)
28478         (two_way_long_needle): New functions.
28479         (knuth_morris_pratt): Delete.
28480         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28481         Add stdint.
28482         * tests/test-memmem.c (main): Add tests for periodic needle and
28483         sublinear performance.
28484         * doc/functions/memmem.texi (memmem): Document other deficiencies
28485         in cygwin and older glibc.
28486
28487 2008-01-08  Bruno Haible  <bruno@clisp.org>
28488
28489         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28490         augmentation.
28491
28492 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28493
28494         Add a configure time option: --disable-acl.
28495         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28496         AC_ARG_ENABLE(acl).
28497
28498 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28499
28500         * tests/test-localename.c: Don't include obsolete "setenv.h".
28501
28502         * modules/localename-tests (Depends-on): Need unsetenv.
28503
28504 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28505
28506         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28507
28508 2008-01-06  Colin Watson  <cjwatson@debian.org>
28509
28510         * users.txt: Add man-db.
28511
28512 2008-01-07  Bruno Haible  <bruno@clisp.org>
28513
28514         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28515         previous section name.
28516
28517 2008-01-07  Bruno Haible  <bruno@clisp.org>
28518
28519         * lib/progname.c (set_program_name): Don't strip off a leading
28520         "lt-" prefix outside a .libs directory.
28521         Suggested by Paul Eggert.
28522
28523 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28524             Bruno Haible  <bruno@clisp.org>
28525
28526         Improve memory cleanup in 'relocatable' module.
28527         * lib/relocatable.h (compute_curr_prefix): Change return type to
28528         'char *'.
28529         * lib/relocatable.c (compute_curr_prefix): Change return type to
28530         'char *'. Free curr_installdir after use.
28531         (relocate): Free curr_prefix_better after use.
28532         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28533
28534 2008-01-01  Bruno Haible  <bruno@clisp.org>
28535
28536         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28537         failure on older glibc systems.
28538         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28539
28540 2008-01-05  Eric Blake  <ebb9@byu.net>
28541
28542         Avoid quadratic system memmem.
28543         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28544         Reported by Ralf Wildenhues.
28545
28546         Fix memmem test for mingw.
28547         * modules/memmem-tests (configure.ac): Check for alarm.
28548         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28549         it.
28550         * doc/functions/memmem.texi: New file.
28551         * doc/gnulib.texi (Function Substitutes): Add memmem.
28552         Reported by Bruno Haible.
28553
28554 2008-01-04  Bruno Haible  <bruno@clisp.org>
28555
28556         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28557         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28558         gl_HEADER_STRING_H_DEFAULTS.
28559
28560 2008-01-04  Eric Blake  <ebb9@byu.net>
28561
28562         Shorten duration of memmem test.
28563         * tests/test-memmem.c (main): Use alarm to declare failure if test
28564         is taking too long.
28565         Reported by Ralf Wildenhues.
28566
28567 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28568
28569         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28570         string, needed by strerror.
28571
28572 2008-01-03  Colin Watson  <cjwatson@debian.org>
28573             Bruno Haible  <bruno@clisp.org>
28574
28575         * doc/gnulib-tool.texi (Localization): New section.
28576
28577 2008-01-02  Bruno Haible  <bruno@clisp.org>
28578
28579         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28580         variables to 'unsigned char *' type.
28581         Reported by Paul Eggert.
28582
28583 2008-01-02  Jim Meyering  <jim@meyering.net>
28584
28585         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28586
28587 2007-12-31  Jim Meyering  <jim@meyering.net>
28588
28589         Avoid use of private FTS type name.
28590         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28591
28592 2007-12-30  Karl Berry  <karl@gnu.org>
28593
28594         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28595         work around defect in Texinfo and/or the standalone Info browser.
28596
28597 2007-12-30  Bruno Haible  <bruno@clisp.org>
28598
28599         Unify 5 copies of the KMP code.
28600         * lib/str-kmp.h: New file.
28601         * lib/c-strcasestr.c: Include str-kmp.h.
28602         (knuth_morris_pratt): Remove function.
28603         (c_strcasestr): Update.
28604         * lib/c-strstr.c: Include str-kmp.h.
28605         (knuth_morris_pratt): Remove function.
28606         (c_strcasestr): Update.
28607         * lib/mbscasestr.c: Include str-kmp.h.
28608         (knuth_morris_pratt_unibyte): Remove function.
28609         * lib/mbsstr.c: Include str-kmp.h.
28610         (knuth_morris_pratt_unibyte): Remove function.
28611         * lib/strcasestr.c: Include str-kmp.h.
28612         (knuth_morris_pratt): Remove function.
28613         (strcasestr): Update.
28614         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28615         * modules/c-strstr (Files): Likewise.
28616         * modules/mbscasestr (Files): Likewise.
28617         * modules/mbsstr (Files): Likewise.
28618         * modules/strcasestr (Files): Likewise.
28619         Suggested by Paul Eggert.
28620
28621 2007-12-30  Bruno Haible  <bruno@clisp.org>
28622
28623         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28624         defined.
28625
28626 2007-12-30  Bruno Haible  <bruno@clisp.org>
28627
28628         * lib/xmalloca.h: Include xalloc.h.
28629         (xnmalloca): New macro.
28630
28631 2007-12-30  Bruno Haible  <bruno@clisp.org>
28632
28633         * lib/malloca.h (nmalloca): New macro.
28634         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28635         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28636         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28637         knuth_morris_pratt_multibyte): Likewise.
28638         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
28639         knuth_morris_pratt_multibyte): Likewise.
28640         * lib/memmem.c (knuth_morris_pratt): Likewise.
28641         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
28642
28643 2007-12-25  Bruno Haible  <bruno@clisp.org>
28644
28645         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
28646         * lib/glob.c: Don't include openat.h.
28647         (link_exists2_p): Add back the code that deals with the
28648         !GLOB_ALTDIRFUNC case.
28649         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
28650         let it do the filename concatenation.
28651         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
28652         * modules/glob (Depends-on): Remove openat.
28653
28654 2007-12-31  Bruno Haible  <bruno@clisp.org>
28655
28656         * modules/dirfd (License): Change to LGPLv2+.
28657         Approved by Jim Meyering.
28658
28659 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28660
28661         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
28662         when multiplying M by sizeof (size_t).
28663
28664 2007-12-10  Martin Lambers  <marlam@marlam.de>
28665
28666         Override getpagesize on mingw.
28667         * lib/getpagesize.c: New file.
28668         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
28669         * modules/getpagesize (Files): Add lib/getpagesize.c.
28670         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
28671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28672         REPLACE_GETPAGESIZE.
28673         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
28674
28675 2007-12-25  Bruno Haible  <bruno@clisp.org>
28676
28677         * modules/localcharset (Notice): New field.
28678         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
28679         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
28680
28681 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28682             Bruno Haible  <bruno@clisp.org>
28683
28684         Avoid using the syntax symbol() in formatted documentation.
28685         * MODULES.html.sh (func_module): When replacing symbol() with a
28686         hyperlink, remove the parentheses. Show an error if some remain.
28687         Recognize and render the '...' syntax.
28688         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
28689         Rework. Add paragraph about GCC's inlining.
28690         * doc/alloca.texi: Likewise.
28691         * doc/error.texi: Remove parentheses from symbol reference.
28692         * doc/gnulib-intro.texi: Likewise.
28693         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
28694         * modules/fnmatch (Description): Reword to say "the ... function".
28695         * modules/full-read (Description): Likewise.
28696         * modules/full-write (Description): Likewise.
28697         * modules/safe-read (Description): Likewise.
28698         * modules/safe-write (Description): Likewise.
28699         * modules/strchrnul (Description): Likewise.
28700         * modules/trim (Description): Likewise.
28701         * modules/error (Description): Remove parentheses from symbol
28702         references.
28703         * modules/verror (Description): Likewise.
28704         Reported by Karl Berry.
28705
28706 2007-12-25  Bruno Haible  <bruno@clisp.org>
28707
28708         Fixup after 2007-10-16 commit.
28709         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
28710
28711 2007-12-24  Bruno Haible  <bruno@clisp.org>
28712
28713         Make --enable-relocatable work with DESTDIR.
28714         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
28715         to compute installdir from destprog.
28716         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
28717         also set the RELOC_DESTDIR variable.
28718         Reported by Левашев Иван <octagram@bluebottle.com>.
28719
28720 2007-12-24  Bruno Haible  <bruno@clisp.org>
28721
28722         Fix link error due to xalloc_die().
28723         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
28724         of xreadlink.
28725         * lib/relocwrapper.c: Update comments.
28726         * build-aux/install-reloc: Remove xreadlink.c from file list.
28727         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
28728         xreadlink.c.
28729         Reported by Левашев Иван <octagram@bluebottle.com>.
28730
28731 2007-12-24  Bruno Haible  <bruno@clisp.org>
28732
28733         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
28734         * lib/setenv.h: Remove file.
28735         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
28736         lib/setenv.h.
28737         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
28738         (Depends-on): Add stdlib.
28739         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
28740         gl_FUNC_UNSETENV.
28741         (Include): Replace setenv.h with <stdlib.h>.
28742         * modules/unsetenv: New file.
28743         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
28744         * lib/unsetenv.c: Include <stdlib.h> first.
28745         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
28746         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
28747         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
28748         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
28749         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
28750         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28751         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
28752         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28753         * doc/functions/unsetenv.texi: Update.
28754         * modules/xsetenv (Depends-on): Add unsetenv.
28755         * modules/getdate (Depends-on): Likewise.
28756         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
28757         * lib/xsetenv.c: Don't include setenv.h.
28758         * lib/getdate.y: Likewise.
28759         * lib/relocwrapper.c: Likewise.
28760         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
28761         (Depends-on): Add stdlib.
28762         * NEWS: Mention the changes.
28763         Reported by Левашев Иван <octagram@bluebottle.com>.
28764
28765 2007-12-23  Bruno Haible  <bruno@clisp.org>
28766
28767         * lib/memmem.c (memmem): Use lowercase variable names. Tab
28768         indentation.
28769
28770 2007-12-23  Bruno Haible  <bruno@clisp.org>
28771
28772         * lib/c-strcasestr.c: Add more comments.
28773         * lib/c-strstr.c: Likewise.
28774         * lib/mbscasestr.c: Likewise.
28775         * lib/mbsstr.c: Likewise.
28776         * lib/strcasestr.c: Likewise.
28777         * lib/memmem.c: Likewise.
28778
28779 2007-12-23  Bruno Haible  <bruno@clisp.org>
28780
28781         * tests/test-memmem.c: Include <string.h> first.
28782
28783 2007-12-22  Bruno Haible  <bruno@clisp.org>
28784
28785         * gnulib-tool (func_create_testdir): Change $auxdir while generating
28786         the contents of $testsbase.
28787         Reported by Ralf Wildenhues.
28788
28789 2007-12-22  Bruno Haible  <bruno@clisp.org>
28790
28791         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
28792         two variables local_ldadd_before, local_ldadd_last.
28793
28794 2007-12-20  Eric Blake  <ebb9@byu.net>
28795
28796         Work around circular library issue when cross-compiling.
28797         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
28798         that progname.o does not need to pull in rpl_memcmp.
28799
28800 2007-12-19  Eric Blake  <ebb9@byu.net>
28801
28802         Fix memmem to avoid O(n^2) worst-case complexity.
28803         * lib/memmem.c (knuth_morris_pratt): New function.
28804         (memmem): Use it if first few naive iterations fail.
28805         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
28806         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
28807         * modules/memchr (License): Likewise.
28808         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
28809         malloca.
28810         * tests/test-memmem.c: Rewrite, borrowing ideas from
28811         test-mbsstr1.c; the old version wouldn't even compile!
28812         * modules/memmem-tests: New file.
28813         * lib/string.in.h (rpl_memmem): Add declaration.
28814         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
28815         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
28816         REPLACE_MEMMEM.
28817
28818 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28819
28820         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
28821         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
28822         before any system include files, and undef after them all.  This
28823         should fix a problem on VMS reported by John E. Malmberg in
28824         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
28825
28826 2007-12-17  Eric Blake  <ebb9@byu.net>
28827
28828         Revert addition of verify, for BSD/OS.
28829         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
28830         can't handle large files, for the sake of obsolete platforms.
28831         * modules/fseeko (Depends-on): Remove verify.
28832         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
28833         * doc/functions/ftello.texi (ftello): Likewise.
28834         * doc/functions/fgetpos.texi (fgetpos): Likewise.
28835         Reported by Larry Jones.
28836
28837 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
28838
28839         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
28840         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
28841
28842 2007-12-17  Jim Meyering  <meyering@redhat.com>
28843
28844         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
28845         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
28846         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
28847         * modules/getcwd (Depends-on): Add openat.
28848         Reported by Petr Salinger.
28849
28850 2007-12-17  Bruno Haible  <bruno@clisp.org>
28851
28852         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
28853         avoid a segmentation fault of the configure test on x86_64 systems.
28854
28855 2007-12-15  Jim Meyering  <meyering@redhat.com>
28856
28857         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
28858
28859 2007-12-13  Eric Blake  <ebb9@byu.net>
28860
28861         Another fseek test.
28862         * tests/test-fseek.c (main): Also test ungetc handling.
28863         * tests/test-fseeko.c (main): Likewise.
28864         * modules/fseeko (Depends-on): Add verify.
28865         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
28866         large.
28867         Reported by Larry Jones.
28868
28869         Fix fseeko on mingw.
28870         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
28871         seek.
28872
28873         Beef up fseek tests.
28874         * tests/test-fseek.c (main): Also test eof handling.
28875         * tests/test-fseeko.c (main): Likewise.
28876         Reported by Larry Jones.
28877
28878 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
28879
28880         Fix fseeko on BSD-based platforms.
28881         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
28882         successful seek.
28883
28884 2007-12-12  Eric Blake  <ebb9@byu.net>
28885
28886         Allow circular dependency of separate libtests.a
28887         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
28888         when use_libtests.
28889
28890 2007-12-11  Eric Blake  <ebb9@byu.net>
28891
28892         Fix bug with -0.0L in previous patch.
28893         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
28894         * tests/test-isnan.c (main): Also test on zeroes.
28895         * tests/test-isnanf.c (main): Likewise.
28896         * tests/test-isnanl.h (main): Likewise.
28897
28898         Detect pseudo-denormals on x86 even when cross-compiling.
28899         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
28900         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
28901         invalid bit patterns that happen to satisfy ==.
28902
28903         Avoid link failures with separate libtests.a.
28904         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
28905         last, to satisfy circular dependencies.
28906
28907 2007-12-11  Eric Blake  <ebb9@byu.net>
28908         and Bruno Haible  <bruno@clisp.org>
28909
28910         Fix OpenBSD 4.0 <float.h> handling of long double.
28911         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
28912         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
28913         * doc/headers/float.texi (float.h): Document OpenBSD bug.
28914
28915 2007-12-11  Jim Meyering  <meyering@redhat.com>
28916
28917         * users.txt: Add libvirt.
28918
28919         Support versions of autoconf prior to 2.59c.
28920         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
28921         if it is not already defined.
28922
28923 2007-12-09  Bruno Haible  <bruno@clisp.org>
28924
28925         Let 'gnulib-tool --import' collect sources needed for the tests in
28926         tests/ rather than in lib/.
28927         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
28928         argument. If true, add rules to generate libtests.a, and put libtests.a
28929         into $(LDADD). Consider source files in subdirectories and set
28930         uses_subdirs.
28931         (func_emit_initmacro_start, func_emit_initmacro_end,
28932         func_emit_initmacro_done): Pass all arguments explicitly.
28933         (func_import): Determine two module lists main_modules,
28934         testsrelated_modules. Determine use_libtests. Determine two variables
28935         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
28936         instead of just sed_transform_lib_file. Determine two variables
28937         main_files and testsrelated_files. Compute 'files' as the union of
28938         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
28939         func_add_or_update. In the generated gnulib-comp.m4, collect the
28940         object files for tests/ in different variables than those for lib/.
28941         Substitute LIBTESTS_LIBDEPS.
28942         (func_create_testdir): Combine the uses_subdirs results from
28943         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
28944
28945 2007-12-09  Bruno Haible  <bruno@clisp.org>
28946
28947         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
28948         the build-aux directory.
28949
28950 2007-12-09  Bruno Haible  <bruno@clisp.org>
28951
28952         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
28953         introduced on 2006-09-09.
28954
28955 2007-12-07  Jim Meyering  <meyering@redhat.com>
28956
28957         Let these macros work also with autoconf-2.59.
28958         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
28959         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
28960         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28961
28962 2007-12-06  Jim Meyering  <meyering@redhat.com>
28963
28964         Avoid a configure-time syntax error in gl_FUNC_ACL.
28965         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
28966         function in each branch, before testing the cache variable.
28967
28968 2007-12-04  Eric Blake  <ebb9@byu.net>
28969
28970         Make scripts executable.
28971         * build-aux/config.guess: Add execute permissions.
28972         * build-aux/config.sub: Likewise.
28973         * build-aux/gendocs.sh: Likewise.
28974
28975         Fix frexp on mingw.
28976         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
28977         cross-compiling.
28978         * doc/functions/frexp.texi (frexp): Document the bug.
28979
28980         Make cygwin fseeko check more reliable.
28981         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
28982         version numbers, rather than unrelated feature check.
28983         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
28984         * doc/functions/ftello.texi (ftello): Likewise.
28985         Reported by Bruno Haible.
28986
28987         * m4/strerror.m4: Bump version number.
28988
28989 2007-12-03  Bruno Haible  <bruno@clisp.org>
28990
28991         * doc/functions/mprotect.texi: Mention the mingw problem.
28992
28993 2007-12-03  Eric Blake  <ebb9@byu.net>
28994
28995         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
28996         REPLACE_STRERROR is initialized before this macro.
28997
28998 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
28999
29000         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29001         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29002         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29003         put -lsec in even for programs other than 'ls'.  This fixes a problem
29004         for gettext reported by Bruno Haible in
29005         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29006         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29007         Add support for Solaris 10.  This isn't efficient, but should get the
29008         job done for now.
29009
29010 2007-12-03  James Youngman  <jay@gnu.org>
29011
29012         * doc/regexprops-generic.texi: change "an close-group" to "a
29013         close-group" and "illegal" to "not allowed".
29014
29015 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29016
29017         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29018         pr_byname.h. Needed for the rare case when the maintainer has done
29019         "make maintainer-clean" in the source directory and then attempts a
29020         build outside the source directory.
29021         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29022         scripts_byname.h.
29023
29024 2007-12-02  Martin Lambers <marlam@marlam.de>
29025             Bruno Haible  <bruno@clisp.org>
29026
29027         * lib/getpagesize.h: Remove file.
29028         * lib/unistd.in.h: Include declaration of getpagesize here.
29029         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29030         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29031         HAVE_SYS_PARAM_H.
29032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29033         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29034         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29035         (Depends-on): Add unistd.
29036         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29037         (Include): Use <unistd.h> instead of getpagesize.h.
29038         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29039         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29040         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29041         gl_GETPAGESIZE invocation, already handled by module dependency.
29042         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29043
29044 2007-12-02  Bruno Haible  <bruno@clisp.org>
29045
29046         * modules/strings-tests: New file.
29047         * tests/test-strings.c: New file.
29048
29049         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29050         * lib/strings.in.h: New file.
29051         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29052         * m4/strings_h.m4: New file.
29053         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29054         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29055         * modules/strings: New file.
29056         * modules/string (Makefile.am): Update.
29057         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29058         Reported by Karl Berry.
29059
29060 2007-12-01  Eric Blake  <ebb9@byu.net>
29061
29062         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29063         accomodate fix in cygwin 1.5.25.
29064
29065 2007-12-01  Jim Meyering  <meyering@redhat.com>
29066
29067         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29068         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29069         that would inhibit utf8-optimization of a regexp containing line-
29070         or buffer-anchors, e.g., `^', `$'.
29071
29072 2007-11-30  Bruno Haible  <bruno@clisp.org>
29073
29074         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29075         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29076         glthread_recursive_lock_init.
29077         * lib/lock.c (glthread_recursive_lock_init)
29078         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29079         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29080
29081 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29082
29083         New function qset_acl, like set_acl but with syscall semantics.
29084         * lib/acl.h (qset_acl): New decl.
29085         * lib/acl.c (qset_acl): New function.
29086         (set_acl): Use new function.  Use more-consistent diagnostics.
29087
29088 2007-11-28  Jim Meyering  <meyering@redhat.com>
29089
29090         * modules/physmem (License): Change from GPL to LGPLv2+.
29091
29092 2007-11-26  Bruno Haible  <bruno@clisp.org>
29093
29094         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29095         'long double' type has excess precision.
29096         Reported by Jim Meyering in
29097         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29098
29099 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29100
29101         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29102         Sync from <http://gnu.org/licenses>.
29103         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29104         with license text from same location.
29105         * doc/maintain.texi, doc/standards.texi:  Sync from
29106         <http://savannah.gnu.org/projects/gnustandards>.
29107
29108 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
29109         and Jim Meyering  <meyering@redhat.com>
29110
29111         Adjust getdate' grammar to accept a slightly more regular language.
29112         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29113         Before, the former was rejected.
29114         * lib/getdate.y (digits_to_date_time): New function, factored
29115         out of ...
29116         (number): ...here.  Just call digits_to_date_time.
29117         (hybrid): New non-terminal to handle an <unsigned number,
29118         signed relative offset> sequence consistently.
29119
29120 2007-11-18  Jim Meyering  <meyering@redhat.com>
29121
29122         Pull my changes from coreutils:
29123         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29124         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29125         use of $gnulib_tool_option_extras, so that it's separated from the
29126         preceding argument.
29127
29128         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29129         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29130         parent destination directories before copying a file into place.
29131
29132 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29133
29134         bootstrap: work also with 4-argument variant of AC_INIT
29135         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29136
29137 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29138
29139         Port test-getaddrinfo to Solaris.
29140         Problem reported by Bruno Haible in
29141         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29142         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29143         explanation of setting 'hints'.
29144         Don't reject an implementation merely because it returns EAI_SERVICE.
29145         (EAI_SERVICE): Define to 0 if not defined.
29146
29147 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29148
29149         The license of gnu-make and posix-shell is now "GPLed build tool".
29150         * modules/gnu-make (License): Likewise.
29151         * modules/posix-shell (License): Likewise.
29152
29153         New module posix-shell, for determining a POSIX shell
29154         or perhaps something that is close enough to a POSIX shell.
29155         * m4/posix-shell.m4: New file.
29156         * modules/posix-shell: New file.
29157
29158         * MODULES.html.sh: Mention new module.
29159
29160         New module gnu-make, for determining whether we're using GNU Make.
29161         * m4/gnu-make.m4: New file.
29162         * modules/gnu-make: New file.
29163         * MODULES.html.sh: Mention new module.
29164
29165 2007-11-14  Jim Meyering  <meyering@redhat.com>
29166
29167         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
29168         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
29169         use this macro to create a function _definition_.
29170         Remove useless "#undef ARGMATCH_DIE".
29171
29172 2007-11-14  Bruno Haible  <bruno@clisp.org>
29173
29174         * lib/config.charset: Update for OpenBSD 4.1.
29175         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
29176
29177 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
29178
29179         Document 64-bit #if problems in stdint.texi.
29180         * doc/headers/stdint.texi (stdint.h): Mention problems with
29181         64-bit-#if, and how to work around them.
29182
29183         Don't insist on 'long long int' support in the preprocessor.  It
29184         breaks too many things.  For example, PRIdMAX still uses a 'long
29185         long int' format with the latest Sun compiler, even though
29186         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29187         preprocessor problem.  This causes the latest coreutils to dump
29188         core on Solaris 10 sparc with the Sun C compiler.
29189         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29190         the troublesome expressions at configure-time, not at #if-time.
29191         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29192         preprocessor.
29193         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29194         compile-time C checks, done at 'configure'-time.
29195         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29196         * modules/inttypes (Makefile): Substitute the new symbols that
29197         gl_INTTYPES_H now generates.
29198         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29199
29200 2007-11-12  Bruno Haible  <bruno@clisp.org>
29201
29202         Tests for Unicode character classification functions.
29203
29204         * modules/unictype/bidicategory-byname-tests: New file.
29205         * modules/unictype/bidicategory-name-tests: New file.
29206         * modules/unictype/bidicategory-of-tests: New file.
29207         * modules/unictype/bidicategory-test-tests: New file.
29208         * modules/unictype/block-list-tests: New file.
29209         * modules/unictype/block-of-tests: New file.
29210         * modules/unictype/block-test-tests: New file.
29211         * modules/unictype/category-C-tests: New file.
29212         * modules/unictype/category-Cc-tests: New file.
29213         * modules/unictype/category-Cf-tests: New file.
29214         * modules/unictype/category-Cn-tests: New file.
29215         * modules/unictype/category-Co-tests: New file.
29216         * modules/unictype/category-Cs-tests: New file.
29217         * modules/unictype/category-L-tests: New file.
29218         * modules/unictype/category-Ll-tests: New file.
29219         * modules/unictype/category-Lm-tests: New file.
29220         * modules/unictype/category-Lo-tests: New file.
29221         * modules/unictype/category-Lt-tests: New file.
29222         * modules/unictype/category-Lu-tests: New file.
29223         * modules/unictype/category-M-tests: New file.
29224         * modules/unictype/category-Mc-tests: New file.
29225         * modules/unictype/category-Me-tests: New file.
29226         * modules/unictype/category-Mn-tests: New file.
29227         * modules/unictype/category-N-tests: New file.
29228         * modules/unictype/category-Nd-tests: New file.
29229         * modules/unictype/category-Nl-tests: New file.
29230         * modules/unictype/category-No-tests: New file.
29231         * modules/unictype/category-P-tests: New file.
29232         * modules/unictype/category-Pc-tests: New file.
29233         * modules/unictype/category-Pd-tests: New file.
29234         * modules/unictype/category-Pe-tests: New file.
29235         * modules/unictype/category-Pf-tests: New file.
29236         * modules/unictype/category-Pi-tests: New file.
29237         * modules/unictype/category-Po-tests: New file.
29238         * modules/unictype/category-Ps-tests: New file.
29239         * modules/unictype/category-S-tests: New file.
29240         * modules/unictype/category-Sc-tests: New file.
29241         * modules/unictype/category-Sk-tests: New file.
29242         * modules/unictype/category-Sm-tests: New file.
29243         * modules/unictype/category-So-tests: New file.
29244         * modules/unictype/category-Z-tests: New file.
29245         * modules/unictype/category-Zl-tests: New file.
29246         * modules/unictype/category-Zp-tests: New file.
29247         * modules/unictype/category-Zs-tests: New file.
29248         * modules/unictype/category-and-not-tests: New file.
29249         * modules/unictype/category-and-tests: New file.
29250         * modules/unictype/category-byname-tests: New file.
29251         * modules/unictype/category-name-tests: New file.
29252         * modules/unictype/category-none-tests: New file.
29253         * modules/unictype/category-of-tests: New file.
29254         * modules/unictype/category-or-tests: New file.
29255         * modules/unictype/category-test-withtable-tests: New file.
29256         * modules/unictype/combining-class-tests: New file.
29257         * modules/unictype/ctype-alnum-tests: New file.
29258         * modules/unictype/ctype-alpha-tests: New file.
29259         * modules/unictype/ctype-blank-tests: New file.
29260         * modules/unictype/ctype-cntrl-tests: New file.
29261         * modules/unictype/ctype-digit-tests: New file.
29262         * modules/unictype/ctype-graph-tests: New file.
29263         * modules/unictype/ctype-lower-tests: New file.
29264         * modules/unictype/ctype-print-tests: New file.
29265         * modules/unictype/ctype-punct-tests: New file.
29266         * modules/unictype/ctype-space-tests: New file.
29267         * modules/unictype/ctype-upper-tests: New file.
29268         * modules/unictype/ctype-xdigit-tests: New file.
29269         * modules/unictype/decimal-digit-tests: New file.
29270         * modules/unictype/digit-tests: New file.
29271         * modules/unictype/mirror-tests: New file.
29272         * modules/unictype/numeric-tests: New file.
29273         * modules/unictype/property-alphabetic-tests: New file.
29274         * modules/unictype/property-ascii-hex-digit-tests: New file.
29275         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29276         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29277         * modules/unictype/property-bidi-block-separator-tests: New file.
29278         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29279         * modules/unictype/property-bidi-common-separator-tests: New file.
29280         * modules/unictype/property-bidi-control-tests: New file.
29281         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29282         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29283         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29284         * modules/unictype/property-bidi-european-digit-tests: New file.
29285         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29286         * modules/unictype/property-bidi-left-to-right-tests: New file.
29287         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29288         * modules/unictype/property-bidi-other-neutral-tests: New file.
29289         * modules/unictype/property-bidi-pdf-tests: New file.
29290         * modules/unictype/property-bidi-segment-separator-tests: New file.
29291         * modules/unictype/property-bidi-whitespace-tests: New file.
29292         * modules/unictype/property-byname-tests: New file.
29293         * modules/unictype/property-combining-tests: New file.
29294         * modules/unictype/property-composite-tests: New file.
29295         * modules/unictype/property-currency-symbol-tests: New file.
29296         * modules/unictype/property-dash-tests: New file.
29297         * modules/unictype/property-decimal-digit-tests: New file.
29298         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29299         * modules/unictype/property-deprecated-tests: New file.
29300         * modules/unictype/property-diacritic-tests: New file.
29301         * modules/unictype/property-extender-tests: New file.
29302         * modules/unictype/property-format-control-tests: New file.
29303         * modules/unictype/property-grapheme-base-tests: New file.
29304         * modules/unictype/property-grapheme-extend-tests: New file.
29305         * modules/unictype/property-grapheme-link-tests: New file.
29306         * modules/unictype/property-hex-digit-tests: New file.
29307         * modules/unictype/property-hyphen-tests: New file.
29308         * modules/unictype/property-id-continue-tests: New file.
29309         * modules/unictype/property-id-start-tests: New file.
29310         * modules/unictype/property-ideographic-tests: New file.
29311         * modules/unictype/property-ids-binary-operator-tests: New file.
29312         * modules/unictype/property-ids-trinary-operator-tests: New file.
29313         * modules/unictype/property-ignorable-control-tests: New file.
29314         * modules/unictype/property-iso-control-tests: New file.
29315         * modules/unictype/property-join-control-tests: New file.
29316         * modules/unictype/property-left-of-pair-tests: New file.
29317         * modules/unictype/property-line-separator-tests: New file.
29318         * modules/unictype/property-logical-order-exception-tests: New file.
29319         * modules/unictype/property-lowercase-tests: New file.
29320         * modules/unictype/property-math-tests: New file.
29321         * modules/unictype/property-non-break-tests: New file.
29322         * modules/unictype/property-not-a-character-tests: New file.
29323         * modules/unictype/property-numeric-tests: New file.
29324         * modules/unictype/property-other-alphabetic-tests: New file.
29325         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29326         * modules/unictype/property-other-grapheme-extend-tests: New file.
29327         * modules/unictype/property-other-id-continue-tests: New file.
29328         * modules/unictype/property-other-id-start-tests: New file.
29329         * modules/unictype/property-other-lowercase-tests: New file.
29330         * modules/unictype/property-other-math-tests: New file.
29331         * modules/unictype/property-other-uppercase-tests: New file.
29332         * modules/unictype/property-paired-punctuation-tests: New file.
29333         * modules/unictype/property-paragraph-separator-tests: New file.
29334         * modules/unictype/property-pattern-syntax-tests: New file.
29335         * modules/unictype/property-pattern-white-space-tests: New file.
29336         * modules/unictype/property-private-use-tests: New file.
29337         * modules/unictype/property-punctuation-tests: New file.
29338         * modules/unictype/property-quotation-mark-tests: New file.
29339         * modules/unictype/property-radical-tests: New file.
29340         * modules/unictype/property-sentence-terminal-tests: New file.
29341         * modules/unictype/property-soft-dotted-tests: New file.
29342         * modules/unictype/property-space-tests: New file.
29343         * modules/unictype/property-terminal-punctuation-tests: New file.
29344         * modules/unictype/property-test-tests: New file.
29345         * modules/unictype/property-titlecase-tests: New file.
29346         * modules/unictype/property-unassigned-code-value-tests: New file.
29347         * modules/unictype/property-unified-ideograph-tests: New file.
29348         * modules/unictype/property-uppercase-tests: New file.
29349         * modules/unictype/property-variation-selector-tests: New file.
29350         * modules/unictype/property-white-space-tests: New file.
29351         * modules/unictype/property-xid-continue-tests: New file.
29352         * modules/unictype/property-xid-start-tests: New file.
29353         * modules/unictype/property-zero-width-tests: New file.
29354         * modules/unictype/scripts-tests: New file.
29355         * modules/unictype/syntax-c-ident-tests: New file.
29356         * modules/unictype/syntax-c-whitespace-tests: New file.
29357         * modules/unictype/syntax-java-ident-tests: New file.
29358         * modules/unictype/syntax-java-whitespace-tests: New file.
29359         * tests/unictype/test-bidi_byname.c: New file.
29360         * tests/unictype/test-bidi_name.c: New file.
29361         * tests/unictype/test-bidi_of.c: New file.
29362         * tests/unictype/test-bidi_test.c: New file.
29363         * tests/unictype/test-block_list.c: New file.
29364         * tests/unictype/test-block_of.c: New file.
29365         * tests/unictype/test-block_test.c: New file.
29366         * tests/unictype/test-categ_and.c: New file.
29367         * tests/unictype/test-categ_and_not.c: New file.
29368         * tests/unictype/test-categ_byname.c: New file.
29369         * tests/unictype/test-categ_name.c: New file.
29370         * tests/unictype/test-categ_none.c: New file.
29371         * tests/unictype/test-categ_of.c: New file.
29372         * tests/unictype/test-categ_or.c: New file.
29373         * tests/unictype/test-categ_test_withtable.c: New file.
29374         * tests/unictype/test-combining.c: New file.
29375         * tests/unictype/test-decdigit.c: New file.
29376         * tests/unictype/test-digit.c: New file.
29377         * tests/unictype/test-mirror.c: New file.
29378         * tests/unictype/test-numeric.c: New file.
29379         * tests/unictype/test-pr_byname.c: New file.
29380         * tests/unictype/test-pr_test.c: New file.
29381         * tests/unictype/test-predicate-part1.h: New file.
29382         * tests/unictype/test-predicate-part2.h: New file.
29383         * tests/unictype/test-scripts.c: New file.
29384         * tests/unictype/test-sy_c_ident.c: New file.
29385         * tests/unictype/test-sy_java_ident.c: New file.
29386
29387         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29388         for Unicode 5.0.0.
29389         * tests/unictype/test-categ_Cc.c: Likewise.
29390         * tests/unictype/test-categ_Cf.c: Likewise.
29391         * tests/unictype/test-categ_Cn.c: Likewise.
29392         * tests/unictype/test-categ_Co.c: Likewise.
29393         * tests/unictype/test-categ_Cs.c: Likewise.
29394         * tests/unictype/test-categ_L.c: Likewise.
29395         * tests/unictype/test-categ_Ll.c: Likewise.
29396         * tests/unictype/test-categ_Lm.c: Likewise.
29397         * tests/unictype/test-categ_Lo.c: Likewise.
29398         * tests/unictype/test-categ_Lt.c: Likewise.
29399         * tests/unictype/test-categ_Lu.c: Likewise.
29400         * tests/unictype/test-categ_M.c: Likewise.
29401         * tests/unictype/test-categ_Mc.c: Likewise.
29402         * tests/unictype/test-categ_Me.c: Likewise.
29403         * tests/unictype/test-categ_Mn.c: Likewise.
29404         * tests/unictype/test-categ_N.c: Likewise.
29405         * tests/unictype/test-categ_Nd.c: Likewise.
29406         * tests/unictype/test-categ_Nl.c: Likewise.
29407         * tests/unictype/test-categ_No.c: Likewise.
29408         * tests/unictype/test-categ_P.c: Likewise.
29409         * tests/unictype/test-categ_Pc.c: Likewise.
29410         * tests/unictype/test-categ_Pd.c: Likewise.
29411         * tests/unictype/test-categ_Pe.c: Likewise.
29412         * tests/unictype/test-categ_Pf.c: Likewise.
29413         * tests/unictype/test-categ_Pi.c: Likewise.
29414         * tests/unictype/test-categ_Po.c: Likewise.
29415         * tests/unictype/test-categ_Ps.c: Likewise.
29416         * tests/unictype/test-categ_S.c: Likewise.
29417         * tests/unictype/test-categ_Sc.c: Likewise.
29418         * tests/unictype/test-categ_Sk.c: Likewise.
29419         * tests/unictype/test-categ_Sm.c: Likewise.
29420         * tests/unictype/test-categ_So.c: Likewise.
29421         * tests/unictype/test-categ_Z.c: Likewise.
29422         * tests/unictype/test-categ_Zl.c: Likewise.
29423         * tests/unictype/test-categ_Zp.c: Likewise.
29424         * tests/unictype/test-categ_Zs.c: Likewise.
29425         * tests/unictype/test-ctype_alnum.c: Likewise.
29426         * tests/unictype/test-ctype_alpha.c: Likewise.
29427         * tests/unictype/test-ctype_blank.c: Likewise.
29428         * tests/unictype/test-ctype_cntrl.c: Likewise.
29429         * tests/unictype/test-ctype_digit.c: Likewise.
29430         * tests/unictype/test-ctype_graph.c: Likewise.
29431         * tests/unictype/test-ctype_lower.c: Likewise.
29432         * tests/unictype/test-ctype_print.c: Likewise.
29433         * tests/unictype/test-ctype_punct.c: Likewise.
29434         * tests/unictype/test-ctype_space.c: Likewise.
29435         * tests/unictype/test-ctype_upper.c: Likewise.
29436         * tests/unictype/test-ctype_xdigit.c: Likewise.
29437         * tests/unictype/test-decdigit.h: Likewise.
29438         * tests/unictype/test-digit.h: Likewise.
29439         * tests/unictype/test-numeric.h: Likewise.
29440         * tests/unictype/test-pr_alphabetic.c: Likewise.
29441         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29442         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29443         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29444         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29445         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29446         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29447         * tests/unictype/test-pr_bidi_control.c: Likewise.
29448         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29449         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29450         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29451         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29452         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29453         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29454         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29455         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29456         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29457         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29458         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29459         * tests/unictype/test-pr_combining.c: Likewise.
29460         * tests/unictype/test-pr_composite.c: Likewise.
29461         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29462         * tests/unictype/test-pr_dash.c: Likewise.
29463         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29464         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29465         * tests/unictype/test-pr_deprecated.c: Likewise.
29466         * tests/unictype/test-pr_diacritic.c: Likewise.
29467         * tests/unictype/test-pr_extender.c: Likewise.
29468         * tests/unictype/test-pr_format_control.c: Likewise.
29469         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29470         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29471         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29472         * tests/unictype/test-pr_hex_digit.c: Likewise.
29473         * tests/unictype/test-pr_hyphen.c: Likewise.
29474         * tests/unictype/test-pr_id_continue.c: Likewise.
29475         * tests/unictype/test-pr_id_start.c: Likewise.
29476         * tests/unictype/test-pr_ideographic.c: Likewise.
29477         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29478         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29479         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29480         * tests/unictype/test-pr_iso_control.c: Likewise.
29481         * tests/unictype/test-pr_join_control.c: Likewise.
29482         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29483         * tests/unictype/test-pr_line_separator.c: Likewise.
29484         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29485         * tests/unictype/test-pr_lowercase.c: Likewise.
29486         * tests/unictype/test-pr_math.c: Likewise.
29487         * tests/unictype/test-pr_non_break.c: Likewise.
29488         * tests/unictype/test-pr_not_a_character.c: Likewise.
29489         * tests/unictype/test-pr_numeric.c: Likewise.
29490         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29491         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29492         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29493         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29494         * tests/unictype/test-pr_other_id_start.c: Likewise.
29495         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29496         * tests/unictype/test-pr_other_math.c: Likewise.
29497         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29498         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29499         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29500         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29501         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29502         * tests/unictype/test-pr_private_use.c: Likewise.
29503         * tests/unictype/test-pr_punctuation.c: Likewise.
29504         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29505         * tests/unictype/test-pr_radical.c: Likewise.
29506         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29507         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29508         * tests/unictype/test-pr_space.c: Likewise.
29509         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29510         * tests/unictype/test-pr_titlecase.c: Likewise.
29511         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29512         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29513         * tests/unictype/test-pr_uppercase.c: Likewise.
29514         * tests/unictype/test-pr_variation_selector.c: Likewise.
29515         * tests/unictype/test-pr_white_space.c: Likewise.
29516         * tests/unictype/test-pr_xid_continue.c: Likewise.
29517         * tests/unictype/test-pr_xid_start.c: Likewise.
29518         * tests/unictype/test-pr_zero_width.c: Likewise.
29519         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29520         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29521
29522 2007-11-12  Bruno Haible  <bruno@clisp.org>
29523
29524         Unicode character classification functions.
29525         * lib/unictype.h: New file.
29526         * modules/unictype/base: New file.
29527         * modules/unictype/category-L: New file.
29528         * modules/unictype/category-Lu: New file.
29529         * modules/unictype/category-Ll: New file.
29530         * modules/unictype/category-Lt: New file.
29531         * modules/unictype/category-Lm: New file.
29532         * modules/unictype/category-Lo: New file.
29533         * modules/unictype/category-M: New file.
29534         * modules/unictype/category-Mn: New file.
29535         * modules/unictype/category-Mc: New file.
29536         * modules/unictype/category-Me: New file.
29537         * modules/unictype/category-N: New file.
29538         * modules/unictype/category-Nd: New file.
29539         * modules/unictype/category-Nl: New file.
29540         * modules/unictype/category-No: New file.
29541         * modules/unictype/category-P: New file.
29542         * modules/unictype/category-Pc: New file.
29543         * modules/unictype/category-Pd: New file.
29544         * modules/unictype/category-Ps: New file.
29545         * modules/unictype/category-Pe: New file.
29546         * modules/unictype/category-Pi: New file.
29547         * modules/unictype/category-Pf: New file.
29548         * modules/unictype/category-Po: New file.
29549         * modules/unictype/category-S: New file.
29550         * modules/unictype/category-Sm: New file.
29551         * modules/unictype/category-Sc: New file.
29552         * modules/unictype/category-Sk: New file.
29553         * modules/unictype/category-So: New file.
29554         * modules/unictype/category-Z: New file.
29555         * modules/unictype/category-Zs: New file.
29556         * modules/unictype/category-Zl: New file.
29557         * modules/unictype/category-Zp: New file.
29558         * modules/unictype/category-C: New file.
29559         * modules/unictype/category-Cc: New file.
29560         * modules/unictype/category-Cf: New file.
29561         * modules/unictype/category-Cs: New file.
29562         * modules/unictype/category-Co: New file.
29563         * modules/unictype/category-Cn: New file.
29564         * modules/unictype/category-or: New file.
29565         * modules/unictype/category-of: New file.
29566         * modules/unictype/category-test: New file.
29567         * modules/unictype/category-test-withtable: New file.
29568         * modules/unictype/category-byname: New file.
29569         * modules/unictype/category-none: New file.
29570         * modules/unictype/category-and: New file.
29571         * modules/unictype/category-and-not: New file.
29572         * modules/unictype/category-name: New file.
29573         * modules/unictype/combining-class: New file.
29574         * modules/unictype/category-all: New file.
29575         * modules/unictype/bidicategory-all: New file.
29576         * modules/unictype/bidicategory-byname: New file.
29577         * modules/unictype/bidicategory-name: New file.
29578         * modules/unictype/bidicategory-of: New file.
29579         * modules/unictype/bidicategory-test: New file.
29580         * modules/unictype/decimal-digit: New file.
29581         * modules/unictype/digit: New file.
29582         * modules/unictype/numeric: New file.
29583         * modules/unictype/mirror: New file.
29584         * modules/unictype/property-white-space: New file.
29585         * modules/unictype/property-alphabetic: New file.
29586         * modules/unictype/property-other-alphabetic: New file.
29587         * modules/unictype/property-not-a-character: New file.
29588         * modules/unictype/property-default-ignorable-code-point: New file.
29589         * modules/unictype/property-other-default-ignorable-code-point: New
29590         file.
29591         * modules/unictype/property-deprecated: New file.
29592         * modules/unictype/property-logical-order-exception: New file.
29593         * modules/unictype/property-variation-selector: New file.
29594         * modules/unictype/property-private-use: New file.
29595         * modules/unictype/property-unassigned-code-value: New file.
29596         * modules/unictype/property-uppercase: New file.
29597         * modules/unictype/property-other-uppercase: New file.
29598         * modules/unictype/property-lowercase: New file.
29599         * modules/unictype/property-other-lowercase: New file.
29600         * modules/unictype/property-titlecase: New file.
29601         * modules/unictype/property-soft-dotted: New file.
29602         * modules/unictype/property-id-start: New file.
29603         * modules/unictype/property-other-id-start: New file.
29604         * modules/unictype/property-id-continue: New file.
29605         * modules/unictype/property-other-id-continue: New file.
29606         * modules/unictype/property-xid-start: New file.
29607         * modules/unictype/property-xid-continue: New file.
29608         * modules/unictype/property-pattern-white-space: New file.
29609         * modules/unictype/property-pattern-syntax: New file.
29610         * modules/unictype/property-join-control: New file.
29611         * modules/unictype/property-grapheme-base: New file.
29612         * modules/unictype/property-grapheme-extend: New file.
29613         * modules/unictype/property-other-grapheme-extend: New file.
29614         * modules/unictype/property-grapheme-link: New file.
29615         * modules/unictype/property-bidi-control: New file.
29616         * modules/unictype/property-bidi-left-to-right: New file.
29617         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29618         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29619         * modules/unictype/property-bidi-european-digit: New file.
29620         * modules/unictype/property-bidi-eur-num-separator: New file.
29621         * modules/unictype/property-bidi-eur-num-terminator: New file.
29622         * modules/unictype/property-bidi-arabic-digit: New file.
29623         * modules/unictype/property-bidi-common-separator: New file.
29624         * modules/unictype/property-bidi-block-separator: New file.
29625         * modules/unictype/property-bidi-segment-separator: New file.
29626         * modules/unictype/property-bidi-whitespace: New file.
29627         * modules/unictype/property-bidi-non-spacing-mark: New file.
29628         * modules/unictype/property-bidi-boundary-neutral: New file.
29629         * modules/unictype/property-bidi-pdf: New file.
29630         * modules/unictype/property-bidi-embedding-or-override: New file.
29631         * modules/unictype/property-bidi-other-neutral: New file.
29632         * modules/unictype/property-hex-digit: New file.
29633         * modules/unictype/property-ascii-hex-digit: New file.
29634         * modules/unictype/property-ideographic: New file.
29635         * modules/unictype/property-unified-ideograph: New file.
29636         * modules/unictype/property-radical: New file.
29637         * modules/unictype/property-ids-binary-operator: New file.
29638         * modules/unictype/property-ids-trinary-operator: New file.
29639         * modules/unictype/property-zero-width: New file.
29640         * modules/unictype/property-space: New file.
29641         * modules/unictype/property-non-break: New file.
29642         * modules/unictype/property-iso-control: New file.
29643         * modules/unictype/property-format-control: New file.
29644         * modules/unictype/property-dash: New file.
29645         * modules/unictype/property-hyphen: New file.
29646         * modules/unictype/property-punctuation: New file.
29647         * modules/unictype/property-line-separator: New file.
29648         * modules/unictype/property-paragraph-separator: New file.
29649         * modules/unictype/property-quotation-mark: New file.
29650         * modules/unictype/property-sentence-terminal: New file.
29651         * modules/unictype/property-terminal-punctuation: New file.
29652         * modules/unictype/property-currency-symbol: New file.
29653         * modules/unictype/property-math: New file.
29654         * modules/unictype/property-other-math: New file.
29655         * modules/unictype/property-paired-punctuation: New file.
29656         * modules/unictype/property-left-of-pair: New file.
29657         * modules/unictype/property-combining: New file.
29658         * modules/unictype/property-composite: New file.
29659         * modules/unictype/property-decimal-digit: New file.
29660         * modules/unictype/property-numeric: New file.
29661         * modules/unictype/property-diacritic: New file.
29662         * modules/unictype/property-extender: New file.
29663         * modules/unictype/property-ignorable-control: New file.
29664         * modules/unictype/property-test: New file.
29665         * modules/unictype/property-byname: New file.
29666         * modules/unictype/property-all: New file.
29667         * modules/unictype/scripts: New file.
29668         * modules/unictype/scripts-all: New file.
29669         * modules/unictype/block-of: New file.
29670         * modules/unictype/block-test: New file.
29671         * modules/unictype/block-list: New file.
29672         * modules/unictype/block-all: New file.
29673         * modules/unictype/syntax-c-whitespace: New file.
29674         * modules/unictype/syntax-java-whitespace: New file.
29675         * modules/unictype/syntax-c-ident: New file.
29676         * modules/unictype/syntax-java-ident: New file.
29677         * modules/unictype/ctype-alnum: New file.
29678         * modules/unictype/ctype-alpha: New file.
29679         * modules/unictype/ctype-cntrl: New file.
29680         * modules/unictype/ctype-digit: New file.
29681         * modules/unictype/ctype-graph: New file.
29682         * modules/unictype/ctype-lower: New file.
29683         * modules/unictype/ctype-print: New file.
29684         * modules/unictype/ctype-punct: New file.
29685         * modules/unictype/ctype-space: New file.
29686         * modules/unictype/ctype-upper: New file.
29687         * modules/unictype/ctype-xdigit: New file.
29688         * modules/unictype/ctype-blank: New file.
29689         * lib/unictype/bidi_byname.c: New file.
29690         * lib/unictype/bidi_name.c: New file.
29691         * lib/unictype/bidi_of.c: New file.
29692         * lib/unictype/bidi_test.c: New file.
29693         * lib/unictype/bitmap.h: New file.
29694         * lib/unictype/block_test.c: New file.
29695         * lib/unictype/blocks.c: New file.
29696         * lib/unictype/categ_C.c: New file.
29697         * lib/unictype/categ_Cc.c: New file.
29698         * lib/unictype/categ_Cf.c: New file.
29699         * lib/unictype/categ_Cn.c: New file.
29700         * lib/unictype/categ_Co.c: New file.
29701         * lib/unictype/categ_Cs.c: New file.
29702         * lib/unictype/categ_L.c: New file.
29703         * lib/unictype/categ_Ll.c: New file.
29704         * lib/unictype/categ_Lm.c: New file.
29705         * lib/unictype/categ_Lo.c: New file.
29706         * lib/unictype/categ_Lt.c: New file.
29707         * lib/unictype/categ_Lu.c: New file.
29708         * lib/unictype/categ_M.c: New file.
29709         * lib/unictype/categ_Mc.c: New file.
29710         * lib/unictype/categ_Me.c: New file.
29711         * lib/unictype/categ_Mn.c: New file.
29712         * lib/unictype/categ_N.c: New file.
29713         * lib/unictype/categ_Nd.c: New file.
29714         * lib/unictype/categ_Nl.c: New file.
29715         * lib/unictype/categ_No.c: New file.
29716         * lib/unictype/categ_P.c: New file.
29717         * lib/unictype/categ_Pc.c: New file.
29718         * lib/unictype/categ_Pd.c: New file.
29719         * lib/unictype/categ_Pe.c: New file.
29720         * lib/unictype/categ_Pf.c: New file.
29721         * lib/unictype/categ_Pi.c: New file.
29722         * lib/unictype/categ_Po.c: New file.
29723         * lib/unictype/categ_Ps.c: New file.
29724         * lib/unictype/categ_S.c: New file.
29725         * lib/unictype/categ_Sc.c: New file.
29726         * lib/unictype/categ_Sk.c: New file.
29727         * lib/unictype/categ_Sm.c: New file.
29728         * lib/unictype/categ_So.c: New file.
29729         * lib/unictype/categ_Z.c: New file.
29730         * lib/unictype/categ_Zl.c: New file.
29731         * lib/unictype/categ_Zp.c: New file.
29732         * lib/unictype/categ_Zs.c: New file.
29733         * lib/unictype/categ_and.c: New file.
29734         * lib/unictype/categ_and_not.c: New file.
29735         * lib/unictype/categ_byname.c: New file.
29736         * lib/unictype/categ_name.c: New file.
29737         * lib/unictype/categ_none.c: New file.
29738         * lib/unictype/categ_of.c: New file.
29739         * lib/unictype/categ_or.c: New file.
29740         * lib/unictype/categ_test.c: New file.
29741         * lib/unictype/combining.c: New file.
29742         * lib/unictype/ctype_alnum.c: New file.
29743         * lib/unictype/ctype_alpha.c: New file.
29744         * lib/unictype/ctype_blank.c: New file.
29745         * lib/unictype/ctype_cntrl.c: New file.
29746         * lib/unictype/ctype_digit.c: New file.
29747         * lib/unictype/ctype_graph.c: New file.
29748         * lib/unictype/ctype_lower.c: New file.
29749         * lib/unictype/ctype_print.c: New file.
29750         * lib/unictype/ctype_punct.c: New file.
29751         * lib/unictype/ctype_space.c: New file.
29752         * lib/unictype/ctype_upper.c: New file.
29753         * lib/unictype/ctype_xdigit.c: New file.
29754         * lib/unictype/decdigit.c: New file.
29755         * lib/unictype/digit.c: New file.
29756         * lib/unictype/identsyntaxmap.h: New file.
29757         * lib/unictype/mirror.c: New file.
29758         * lib/unictype/numeric.c: New file.
29759         * lib/unictype/pr_alphabetic.c: New file.
29760         * lib/unictype/pr_ascii_hex_digit.c: New file.
29761         * lib/unictype/pr_bidi_arabic_digit.c: New file.
29762         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
29763         * lib/unictype/pr_bidi_block_separator.c: New file.
29764         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
29765         * lib/unictype/pr_bidi_common_separator.c: New file.
29766         * lib/unictype/pr_bidi_control.c: New file.
29767         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
29768         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
29769         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
29770         * lib/unictype/pr_bidi_european_digit.c: New file.
29771         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
29772         * lib/unictype/pr_bidi_left_to_right.c: New file.
29773         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
29774         * lib/unictype/pr_bidi_other_neutral.c: New file.
29775         * lib/unictype/pr_bidi_pdf.c: New file.
29776         * lib/unictype/pr_bidi_segment_separator.c: New file.
29777         * lib/unictype/pr_bidi_whitespace.c: New file.
29778         * lib/unictype/pr_byname.c: New file.
29779         * lib/unictype/pr_byname.gperf: New file.
29780         * lib/unictype/pr_combining.c: New file.
29781         * lib/unictype/pr_composite.c: New file.
29782         * lib/unictype/pr_currency_symbol.c: New file.
29783         * lib/unictype/pr_dash.c: New file.
29784         * lib/unictype/pr_decimal_digit.c: New file.
29785         * lib/unictype/pr_default_ignorable_code_point.c: New file.
29786         * lib/unictype/pr_deprecated.c: New file.
29787         * lib/unictype/pr_diacritic.c: New file.
29788         * lib/unictype/pr_extender.c: New file.
29789         * lib/unictype/pr_format_control.c: New file.
29790         * lib/unictype/pr_grapheme_base.c: New file.
29791         * lib/unictype/pr_grapheme_extend.c: New file.
29792         * lib/unictype/pr_grapheme_link.c: New file.
29793         * lib/unictype/pr_hex_digit.c: New file.
29794         * lib/unictype/pr_hyphen.c: New file.
29795         * lib/unictype/pr_id_continue.c: New file.
29796         * lib/unictype/pr_id_start.c: New file.
29797         * lib/unictype/pr_ideographic.c: New file.
29798         * lib/unictype/pr_ids_binary_operator.c: New file.
29799         * lib/unictype/pr_ids_trinary_operator.c: New file.
29800         * lib/unictype/pr_ignorable_control.c: New file.
29801         * lib/unictype/pr_iso_control.c: New file.
29802         * lib/unictype/pr_join_control.c: New file.
29803         * lib/unictype/pr_left_of_pair.c: New file.
29804         * lib/unictype/pr_line_separator.c: New file.
29805         * lib/unictype/pr_logical_order_exception.c: New file.
29806         * lib/unictype/pr_lowercase.c: New file.
29807         * lib/unictype/pr_math.c: New file.
29808         * lib/unictype/pr_non_break.c: New file.
29809         * lib/unictype/pr_not_a_character.c: New file.
29810         * lib/unictype/pr_numeric.c: New file.
29811         * lib/unictype/pr_other_alphabetic.c: New file.
29812         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
29813         * lib/unictype/pr_other_grapheme_extend.c: New file.
29814         * lib/unictype/pr_other_id_continue.c: New file.
29815         * lib/unictype/pr_other_id_start.c: New file.
29816         * lib/unictype/pr_other_lowercase.c: New file.
29817         * lib/unictype/pr_other_math.c: New file.
29818         * lib/unictype/pr_other_uppercase.c: New file.
29819         * lib/unictype/pr_paired_punctuation.c: New file.
29820         * lib/unictype/pr_paragraph_separator.c: New file.
29821         * lib/unictype/pr_pattern_syntax.c: New file.
29822         * lib/unictype/pr_pattern_white_space.c: New file.
29823         * lib/unictype/pr_private_use.c: New file.
29824         * lib/unictype/pr_punctuation.c: New file.
29825         * lib/unictype/pr_quotation_mark.c: New file.
29826         * lib/unictype/pr_radical.c: New file.
29827         * lib/unictype/pr_sentence_terminal.c: New file.
29828         * lib/unictype/pr_soft_dotted.c: New file.
29829         * lib/unictype/pr_space.c: New file.
29830         * lib/unictype/pr_terminal_punctuation.c: New file.
29831         * lib/unictype/pr_test.c: New file.
29832         * lib/unictype/pr_titlecase.c: New file.
29833         * lib/unictype/pr_unassigned_code_value.c: New file.
29834         * lib/unictype/pr_unified_ideograph.c: New file.
29835         * lib/unictype/pr_uppercase.c: New file.
29836         * lib/unictype/pr_variation_selector.c: New file.
29837         * lib/unictype/pr_white_space.c: New file.
29838         * lib/unictype/pr_xid_continue.c: New file.
29839         * lib/unictype/pr_xid_start.c: New file.
29840         * lib/unictype/pr_zero_width.c: New file.
29841         * lib/unictype/scripts.c: New file.
29842         * lib/unictype/sy_c_ident.c: New file.
29843         * lib/unictype/sy_c_whitespace.c: New file.
29844         * lib/unictype/sy_java_ident.c: New file.
29845         * lib/unictype/sy_java_whitespace.c: New file.
29846
29847         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
29848         Unicode 5.0.0.
29849         * lib/unictype/blocks.h: Likewise.
29850         * lib/unictype/categ_C.h: Likewise.
29851         * lib/unictype/categ_Cc.h: Likewise.
29852         * lib/unictype/categ_Cf.h: Likewise.
29853         * lib/unictype/categ_Cn.h: Likewise.
29854         * lib/unictype/categ_Co.h: Likewise.
29855         * lib/unictype/categ_Cs.h: Likewise.
29856         * lib/unictype/categ_L.h: Likewise.
29857         * lib/unictype/categ_Ll.h: Likewise.
29858         * lib/unictype/categ_Lm.h: Likewise.
29859         * lib/unictype/categ_Lo.h: Likewise.
29860         * lib/unictype/categ_Lt.h: Likewise.
29861         * lib/unictype/categ_Lu.h: Likewise.
29862         * lib/unictype/categ_M.h: Likewise.
29863         * lib/unictype/categ_Mc.h: Likewise.
29864         * lib/unictype/categ_Me.h: Likewise.
29865         * lib/unictype/categ_Mn.h: Likewise.
29866         * lib/unictype/categ_N.h: Likewise.
29867         * lib/unictype/categ_Nd.h: Likewise.
29868         * lib/unictype/categ_Nl.h: Likewise.
29869         * lib/unictype/categ_No.h: Likewise.
29870         * lib/unictype/categ_P.h: Likewise.
29871         * lib/unictype/categ_Pc.h: Likewise.
29872         * lib/unictype/categ_Pd.h: Likewise.
29873         * lib/unictype/categ_Pe.h: Likewise.
29874         * lib/unictype/categ_Pf.h: Likewise.
29875         * lib/unictype/categ_Pi.h: Likewise.
29876         * lib/unictype/categ_Po.h: Likewise.
29877         * lib/unictype/categ_Ps.h: Likewise.
29878         * lib/unictype/categ_S.h: Likewise.
29879         * lib/unictype/categ_Sc.h: Likewise.
29880         * lib/unictype/categ_Sk.h: Likewise.
29881         * lib/unictype/categ_Sm.h: Likewise.
29882         * lib/unictype/categ_So.h: Likewise.
29883         * lib/unictype/categ_Z.h: Likewise.
29884         * lib/unictype/categ_Zl.h: Likewise.
29885         * lib/unictype/categ_Zp.h: Likewise.
29886         * lib/unictype/categ_Zs.h: Likewise.
29887         * lib/unictype/categ_of.h: Likewise.
29888         * lib/unictype/combining.h: Likewise.
29889         * lib/unictype/ctype_alnum.h: Likewise.
29890         * lib/unictype/ctype_alpha.h: Likewise.
29891         * lib/unictype/ctype_blank.h: Likewise.
29892         * lib/unictype/ctype_cntrl.h: Likewise.
29893         * lib/unictype/ctype_digit.h: Likewise.
29894         * lib/unictype/ctype_graph.h: Likewise.
29895         * lib/unictype/ctype_lower.h: Likewise.
29896         * lib/unictype/ctype_print.h: Likewise.
29897         * lib/unictype/ctype_punct.h: Likewise.
29898         * lib/unictype/ctype_space.h: Likewise.
29899         * lib/unictype/ctype_upper.h: Likewise.
29900         * lib/unictype/ctype_xdigit.h: Likewise.
29901         * lib/unictype/decdigit.h: Likewise.
29902         * lib/unictype/digit.h: Likewise.
29903         * lib/unictype/mirror.h: Likewise.
29904         * lib/unictype/numeric.h: Likewise.
29905         * lib/unictype/pr_alphabetic.h: Likewise.
29906         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
29907         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
29908         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
29909         * lib/unictype/pr_bidi_block_separator.h: Likewise.
29910         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
29911         * lib/unictype/pr_bidi_common_separator.h: Likewise.
29912         * lib/unictype/pr_bidi_control.h: Likewise.
29913         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
29914         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
29915         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
29916         * lib/unictype/pr_bidi_european_digit.h: Likewise.
29917         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
29918         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
29919         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
29920         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
29921         * lib/unictype/pr_bidi_pdf.h: Likewise.
29922         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
29923         * lib/unictype/pr_bidi_whitespace.h: Likewise.
29924         * lib/unictype/pr_combining.h: Likewise.
29925         * lib/unictype/pr_composite.h: Likewise.
29926         * lib/unictype/pr_currency_symbol.h: Likewise.
29927         * lib/unictype/pr_dash.h: Likewise.
29928         * lib/unictype/pr_decimal_digit.h: Likewise.
29929         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
29930         * lib/unictype/pr_deprecated.h: Likewise.
29931         * lib/unictype/pr_diacritic.h: Likewise.
29932         * lib/unictype/pr_extender.h: Likewise.
29933         * lib/unictype/pr_format_control.h: Likewise.
29934         * lib/unictype/pr_grapheme_base.h: Likewise.
29935         * lib/unictype/pr_grapheme_extend.h: Likewise.
29936         * lib/unictype/pr_grapheme_link.h: Likewise.
29937         * lib/unictype/pr_hex_digit.h: Likewise.
29938         * lib/unictype/pr_hyphen.h: Likewise.
29939         * lib/unictype/pr_id_continue.h: Likewise.
29940         * lib/unictype/pr_id_start.h: Likewise.
29941         * lib/unictype/pr_ideographic.h: Likewise.
29942         * lib/unictype/pr_ids_binary_operator.h: Likewise.
29943         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
29944         * lib/unictype/pr_ignorable_control.h: Likewise.
29945         * lib/unictype/pr_iso_control.h: Likewise.
29946         * lib/unictype/pr_join_control.h: Likewise.
29947         * lib/unictype/pr_left_of_pair.h: Likewise.
29948         * lib/unictype/pr_line_separator.h: Likewise.
29949         * lib/unictype/pr_logical_order_exception.h: Likewise.
29950         * lib/unictype/pr_lowercase.h: Likewise.
29951         * lib/unictype/pr_math.h: Likewise.
29952         * lib/unictype/pr_non_break.h: Likewise.
29953         * lib/unictype/pr_not_a_character.h: Likewise.
29954         * lib/unictype/pr_numeric.h: Likewise.
29955         * lib/unictype/pr_other_alphabetic.h: Likewise.
29956         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
29957         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
29958         * lib/unictype/pr_other_id_continue.h: Likewise.
29959         * lib/unictype/pr_other_id_start.h: Likewise.
29960         * lib/unictype/pr_other_lowercase.h: Likewise.
29961         * lib/unictype/pr_other_math.h: Likewise.
29962         * lib/unictype/pr_other_uppercase.h: Likewise.
29963         * lib/unictype/pr_paired_punctuation.h: Likewise.
29964         * lib/unictype/pr_paragraph_separator.h: Likewise.
29965         * lib/unictype/pr_pattern_syntax.h: Likewise.
29966         * lib/unictype/pr_pattern_white_space.h: Likewise.
29967         * lib/unictype/pr_private_use.h: Likewise.
29968         * lib/unictype/pr_punctuation.h: Likewise.
29969         * lib/unictype/pr_quotation_mark.h: Likewise.
29970         * lib/unictype/pr_radical.h: Likewise.
29971         * lib/unictype/pr_sentence_terminal.h: Likewise.
29972         * lib/unictype/pr_soft_dotted.h: Likewise.
29973         * lib/unictype/pr_space.h: Likewise.
29974         * lib/unictype/pr_terminal_punctuation.h: Likewise.
29975         * lib/unictype/pr_titlecase.h: Likewise.
29976         * lib/unictype/pr_unassigned_code_value.h: Likewise.
29977         * lib/unictype/pr_unified_ideograph.h: Likewise.
29978         * lib/unictype/pr_uppercase.h: Likewise.
29979         * lib/unictype/pr_variation_selector.h: Likewise.
29980         * lib/unictype/pr_white_space.h: Likewise.
29981         * lib/unictype/pr_xid_continue.h: Likewise.
29982         * lib/unictype/pr_xid_start.h: Likewise.
29983         * lib/unictype/pr_zero_width.h: Likewise.
29984         * lib/unictype/scripts.h: Likewise.
29985         * lib/unictype/scripts_byname.gperf: Likewise.
29986         * lib/unictype/sy_c_ident.h: Likewise.
29987         * lib/unictype/sy_c_whitespace.h: Likewise.
29988         * lib/unictype/sy_java_ident.h: Likewise.
29989         * lib/unictype/sy_java_whitespace.h: Likewise.
29990
29991         * lib/unictype/Makefile: New file.
29992         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
29993         glibc.
29994         * lib/unictype/3level.h: New file, copied from glibc.
29995         * lib/unictype/3levelbit.h: New file.
29996
29997 2007-11-11  Bruno Haible  <bruno@clisp.org>
29998
29999         * modules/gperf: New file.
30000         * modules/iconv_open (Depends-on): Add it.
30001         (Makefile.am): Remove the GPERF definition.
30002
30003 2007-11-11  Bruno Haible  <bruno@clisp.org>
30004
30005         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30006         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30007
30008 2007-11-11  Bruno Haible  <bruno@clisp.org>
30009
30010         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30011         (usage): Remove function.
30012
30013 2007-11-11  Bruno Haible  <bruno@clisp.org>
30014
30015         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30016         gl_FUNC_CEILF_LIBS.
30017         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30018         gl_FUNC_CEIL_LIBS.
30019         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30020         gl_FUNC_CEILL_LIBS.
30021         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30022         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30023         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30024
30025 2007-11-11  Bruno Haible  <bruno@clisp.org>
30026
30027         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30028         roundf were declared but do not exist on functions.
30029         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30030         roundl were declared but do not exist on functions.
30031         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30032         HAVE_FLOORL_AND_CEILL, respectively.
30033         Needed for Sun C on Solaris 10.
30034
30035 2007-11-11  Bruno Haible  <bruno@clisp.org>
30036
30037         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30038         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30039         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30040         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30041         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30042         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30043         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30044         HAVE_DECL_ROUNDF.
30045         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30046         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30048         of HAVE_DECL_ROUND*.
30049         * modules/math (Makefile.am): Update.
30050
30051 2007-11-10  Bruno Haible  <bruno@clisp.org>
30052
30053         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30054         ptrdiff_t as m4/intl.m4.
30055
30056 2007-11-10  Jim Meyering  <meyering@redhat.com>
30057
30058         Avoid link failure for the argmatch test.
30059         * tests/test-argmatch.c (usage): Define function to avoid a link
30060         failure: argmatch_die requires a usage function.
30061
30062 2007-11-09  Bruno Haible  <bruno@clisp.org>
30063
30064         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30065         * doc/functions/vsnprintf.texi: Likewise.
30066         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30067         with a size argument < 2.
30068
30069 2007-11-09  Bruno Haible  <bruno@clisp.org>
30070
30071         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30072         buffer. Fixes an inefficiency introduced on 2007-11-03.
30073
30074 2007-11-09  Bruno Haible  <bruno@clisp.org>
30075
30076         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30077         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30078
30079 2007-11-08  Jim Meyering  <meyering@redhat.com>
30080
30081         Change cache variable name prefix "jm_" to "gl_" everywhere.
30082         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30083         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30084         * m4/uptime.m4: s/gl_/jm_/
30085
30086 2007-11-07  Bruno Haible  <bruno@clisp.org>
30087
30088         Update to GNU gettext 0.17.
30089         * m4/intl.m4: Update to GNU gettext 0.17.
30090         * m4/po.m4: Likewise.
30091         * modules/gettext (Files): Remove m4/ulonglong.m4.
30092         (configure.ac): Require gettext infrastructure from version 0.17.
30093
30094 2007-11-06  Bruno Haible  <bruno@clisp.org>
30095
30096         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30097         symbolic values are not defined in a public header.
30098         * lib/freadable.c (freadable) [QNX]: Likewise.
30099         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30100         * lib/freading.c (freading) [QNX]: Likewise.
30101         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30102         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30103         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30104         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30105         Reported by Alain Magloire.
30106
30107         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30108
30109 2007-11-05  Bruno Haible  <bruno@clisp.org>
30110
30111         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30112         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30113         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30114         Reported by Eric Blake.
30115
30116 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30117             Bruno Haible  <bruno@clisp.org>
30118
30119         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30120         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30121         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30122         (malloc): Undefine also before including <stdlib.h>.
30123         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30124         Needed on OSF/1 4.0.
30125
30126 2007-11-05  Jim Meyering  <meyering@redhat.com>
30127
30128         git-version-gen: sync from coreutils.
30129         * build-aux/git-version-gen: Add comments.
30130         Change the first '-' to '.' in the snapshot version string,
30131         e.g., 6.9-377-08144 -> 6.9.377-08144
30132         Remove first parameter.
30133         Don't declare a version "-dirty" merely because a time
30134         stamp has changed.
30135
30136 2007-11-04  Bruno Haible  <bruno@clisp.org>
30137
30138         * lib/lock.h: Protect all macro definitions containing an 'if'
30139         statement through a "do { ... } while (0)".
30140         * lib/tls.h: Likewise.
30141
30142 2007-11-04  Bruno Haible  <bruno@clisp.org>
30143
30144         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30145
30146 2007-11-04  Bruno Haible  <bruno@clisp.org>
30147
30148         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30149         * modules/fprintf-posix (Depends-on): Add nocrash.
30150         * modules/snprintf-posix (Depends-on): Likewise.
30151         * modules/sprintf-posix (Depends-on): Likewise.
30152         * modules/vasnprintf-posix (Depends-on): Likewise.
30153         * modules/vasprintf-posix (Depends-on): Likewise.
30154         * modules/vfprintf-posix (Depends-on): Likewise.
30155         * modules/vsnprintf-posix (Depends-on): Likewise.
30156         * modules/vsprintf-posix (Depends-on): Likewise.
30157         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30158         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30159         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30160         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30161         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30162         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30163         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30164
30165 2007-11-04  Bruno Haible  <bruno@clisp.org>
30166
30167         * modules/nocrash: New file.
30168         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
30169         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
30170
30171 2007-11-04  Bruno Haible  <bruno@clisp.org>
30172
30173         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
30174         precision handling.
30175         * tests/test-vasprintf-posix.c (test_function): Likewise.
30176         * tests/test-snprintf-posix.h (test_function): Likewise.
30177         * tests/test-sprintf-posix.h (test_function): Likewise.
30178
30179         Fix *printf behaviour for large precisions on mingw and BeOS.
30180         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
30181         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
30182         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
30183         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30184         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30185         gl_PRINTF_PRECISION and test its result. Invoke
30186         gl_PREREQ_VASNPRINTF_PRECISION.
30187         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30188         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30189         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30190         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30191         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30192         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30193         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30194         * doc/functions/fprintf.texi: Update.
30195         * doc/functions/printf.texi: Update.
30196         * doc/functions/snprintf.texi: Update.
30197         * doc/functions/sprintf.texi: Update.
30198         * doc/functions/vfprintf.texi: Update.
30199         * doc/functions/vprintf.texi: Update.
30200         * doc/functions/vsnprintf.texi: Update.
30201         * doc/functions/vsprintf.texi: Update.
30202
30203 2007-11-04  Bruno Haible  <bruno@clisp.org>
30204
30205         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30206
30207 2007-11-04  Bruno Haible  <bruno@clisp.org>
30208
30209         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30210         Reported by Sylvain Beucler <beuc@gnu.org>.
30211
30212 2007-11-03  Bruno Haible  <bruno@clisp.org>
30213
30214         * tests/test-fprintf-posix2.sh: New file.
30215         * tests/test-fprintf-posix2.c: New file.
30216         * modules/fprintf-posix-tests (Files): Add them.
30217         (TESTS): Add test-fprintf-posix2.sh.
30218         (configure.ac): Check for getrlimit and setrlimit.
30219         (check_PROGRAMS): Add test-fprintf-posix2.
30220
30221         * tests/test-printf-posix2.sh: New file.
30222         * tests/test-printf-posix2.c: New file.
30223         * modules/printf-posix-tests (Files): Add them.
30224         (TESTS): Add test-printf-posix2.sh.
30225         (configure.ac): Check for getrlimit and setrlimit.
30226         (check_PROGRAMS): Add test-printf-posix2.
30227
30228         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30229         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30230         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30231         (decode_double): New function, copied from decode_long_double.
30232         (scale10_round_decimal_decoded): New function, extracted from
30233         scale10_round_decimal_long_double.
30234         (scale10_round_decimal_long_double): Use it.
30235         (scale10_round_decimal_double): New function.
30236         (floorlog10): New function.
30237         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30238         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30239         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30240         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30241         gl_PRINTF_ENOMEM and test its result. Invoke
30242         gl_PREREQ_VASNPRINTF_ENOMEM.
30243         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30244         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30245         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30246         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30247         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30248         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30249         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30250         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30251         * modules/snprintf-posix (Depends-on): Likewise.
30252         * modules/sprintf-posix (Depends-on): Likewise.
30253         * modules/vasnprintf-posix (Depends-on): Likewise.
30254         * modules/vasprintf-posix (Depends-on): Likewise.
30255         * modules/vfprintf-posix (Depends-on): Likewise.
30256         * modules/vsnprintf-posix (Depends-on): Likewise.
30257         * modules/vsprintf-posix (Depends-on): Likewise.
30258         * doc/functions/fprintf.texi: Update.
30259         * doc/functions/printf.texi: Update.
30260         * doc/functions/snprintf.texi: Update.
30261         * doc/functions/sprintf.texi: Update.
30262         * doc/functions/vfprintf.texi: Update.
30263         * doc/functions/vprintf.texi: Update.
30264         * doc/functions/vsnprintf.texi: Update.
30265         * doc/functions/vsprintf.texi: Update.
30266
30267 2007-11-03  Bruno Haible  <bruno@clisp.org>
30268
30269         * modules/frexp-nolibm-tests: New file.
30270
30271         * modules/frexp-nolibm: New file.
30272         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30273
30274 2007-11-03  Bruno Haible  <bruno@clisp.org>
30275
30276         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30277         value is C99 compliant.
30278         Needed for OSF/1 5.1.
30279
30280 2007-11-03  Bruno Haible  <bruno@clisp.org>
30281
30282         Fix out-of-memory handling of vasnprintf.
30283         * lib/printf-parse.c: Include <errno.h>.
30284         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30285         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30286         is already set.
30287
30288 2007-11-02  Eric Blake  <ebb9@byu.net>
30289
30290         Fix tests on cygwin.
30291         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30292
30293 2007-11-01  Bruno Haible  <bruno@clisp.org>
30294
30295         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30296         warning.
30297         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30298         needed for POSIX compatibility.
30299
30300 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30301
30302         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30303         for compatibility with GNU.
30304
30305 2007-11-01  Bruno Haible  <bruno@clisp.org>
30306
30307         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30308         (putenv): Renamed from rpl_putenv. Change argument type from
30309         'const char *' to 'char *'.
30310         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30311         of defining putenv in config.h, just set REPLACE_PUTENV.
30312         * modules/putenv (Depends-on): Add stdlib.
30313         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30314         (Include): Use <stdlib.h>.
30315         * lib/stdlib.in.h (putenv): New declaration.
30316         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30317         REPLACE_PUTENV.
30318         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30319         REPLACE_PUTENV.
30320         Needed for MacOS X 10.5.0.
30321         Reported by Peter O'Gorman <peter@pogma.com>.
30322
30323 2007-11-01  Jim Meyering  <meyering@redhat.com>
30324
30325         Treat an empty date string exactly like "0".
30326         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30327         if the remaining date string (to be parsed) is empty, use "0".
30328         Reported by Mischa Molhoek and discussed in this thread:
30329         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30330
30331 2007-10-31  Bruno Haible  <bruno@clisp.org>
30332
30333         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30334         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30335         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30336         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30337         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30338         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30339
30340 2007-10-31  Bruno Haible  <bruno@clisp.org>
30341
30342         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30343         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30344         (AC_TYPE_LONG_LONG_INT): Use it.
30345         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30346         it as well.
30347         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30348         to m4/longlong.m4.
30349         * modules/stdint (Files): Remove m4/ulonglong.m4.
30350         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30351         m4/ulonglong.m4.
30352         * modules/strtoumax (Files): Likewise.
30353
30354 2007-10-30  Bruno Haible  <bruno@clisp.org>
30355
30356         * modules/xvasprintf-posix: New file.
30357         Suggested by Eric Blake.
30358
30359 2007-10-30  Bruno Haible  <bruno@clisp.org>
30360
30361         * modules/xprintf-posix-tests: New file.
30362         * tests/test-xprintf-posix.sh: New file.
30363         * tests/test-xprintf-posix.c: New file.
30364         * tests/test-xfprintf-posix.c: New file.
30365
30366         * modules/xprintf-posix: New file.
30367
30368 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30369
30370         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30371         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30372         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30373
30374 2007-10-29  Bruno Haible  <bruno@clisp.org>
30375
30376         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30377         contain the special marker '_cv_'.
30378         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30379         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30380         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30381         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30382         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30383         Reported by Ralf Wildenhues.
30384
30385 2007-10-29  Bruno Haible  <bruno@clisp.org>
30386
30387         * gnulib-tool (func_import): When --lgpl is not specified, set
30388         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30389         GPLv3.
30390         Reported by Simon Josefsson.
30391
30392 2007-10-28  Bruno Haible  <bruno@clisp.org>
30393
30394         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30395         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30396         HAVE_DECL_ISFINITE.
30397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30398         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30399         HAVE_DECL_ISFINITE.
30400
30401 2007-10-28  Bruno Haible  <bruno@clisp.org>
30402
30403         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30404         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30405
30406 2007-10-28  Bruno Haible  <bruno@clisp.org>
30407
30408         Fix link errors with Sun C 5.0 on Solaris 10.
30409         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30410         function is declared but not present in the compiler's libm.
30411         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30412         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30413         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30414         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30415         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30416         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30417         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30419         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30420         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30421         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30422         HAVE_DECL_FLOORL.
30423
30424 2007-10-28  Bruno Haible  <bruno@clisp.org>
30425
30426         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30427         gl_FUNC_FLOORL. Cache the result.
30428         (gl_FUNC_FLOORL): Use it.
30429         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30430         gl_FUNC_CEILL. Cache the result.
30431         (gl_FUNC_CEILL): Use it.
30432
30433         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30434         gl_FUNC_FLOOR. Cache the result.
30435         (gl_FUNC_FLOOR): Use it.
30436         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30437         gl_FUNC_CEIL. Cache the result.
30438         (gl_FUNC_CEIL): Use it.
30439
30440         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30441         gl_FUNC_FLOORF. Cache the result.
30442         (gl_FUNC_FLOORF): Use it.
30443         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30444         gl_FUNC_CEILF. Cache the result.
30445         (gl_FUNC_CEILF): Use it.
30446
30447 2007-10-28  Bruno Haible  <bruno@clisp.org>
30448
30449         * gnulib-tool: Allow specifying the LGPL version number through
30450         --lgpl=2 or --lgpl=3.
30451         (func_usage): Document --lgpl with argument.
30452         Handle --lgpl=... arguments.
30453         (func_import): Recognize also gl_LGPL calls with an argument. When
30454         --lgpl=2 is used and the module's license is just LGPL, report an
30455         error. Set sed_transform_lib_file according to the lgpl variable. In
30456         the generated files, use --lgpl or gl_LGPL invocations with argument,
30457         if necessary.
30458         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30459         an LGPv2+ license.
30460         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30461         gl_LGPL macro.
30462
30463 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30464             Bruno Haible  <bruno@clisp.org>
30465
30466         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30467         (u16_uctomb_aux): Likewise.
30468         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30469         !HAVE_INLINE.
30470         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30471
30472 2007-10-28  Bruno Haible  <bruno@clisp.org>
30473
30474         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30475         Invoke AM_GETTEXT_OPTION if it exists.
30476         * modules/vasprintf: Likewise.
30477         * modules/verror: Likewise.
30478         * modules/xprintf: Likewise.
30479         * modules/xvasprintf: Likewise.
30480
30481 2007-10-27  Ben Pfaff  <blp@gnu.org>
30482
30483         * lib/math.in.h: Define isfinite macro and prototypes for
30484         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30485         implementations.
30486         * m4/math_h.m4: New substitutions for isfinite module.
30487         * lib/isfinite.c: New file.
30488         * m4/isfinite.m4: New file.
30489         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30490         * modules/isfinite: New file.
30491         * modules/isfinite-tests: New file.
30492         * tests/tests-isfinite.c: New file.
30493         * doc/functions/isfinite.texi: Mention isfinite module.
30494         * MODULES.html.sh: Mention new module.
30495
30496 2007-10-27  Ben Pfaff  <blp@gnu.org>
30497
30498         Ralf Wildenhues reported that Tru64 4.0D declares the round
30499         functions but does not have definitions.
30500         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30501         cannot be found in any library, set the output variable to
30502         "missing" instead of "".
30503         * m4/round.m4: Also use our substitute if we cannot find round in
30504         any library, even if it is declared.
30505         * m4/roundf.m4: Likewise for roundf.
30506         * m4/roundl.m4: Likewise for roundl.
30507         * lib/math.in.h: Undefine roundf, round, roundl before defining
30508         their replacements, to allow for hypothetical systems where these
30509         may be defined as macros but not available in libraries.
30510
30511 2007-10-27  Bruno Haible  <bruno@clisp.org>
30512
30513         * doc/gnulib.texi: Invoke @firstparagraphindent.
30514         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30515         changes in gnulib.
30516         (Source changes): New section.
30517
30518 2007-10-26  Bruno Haible  <bruno@clisp.org>
30519
30520         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30521         borrowed from autoconf.
30522
30523 2007-10-26  Bruno Haible  <bruno@clisp.org>
30524
30525         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30526         strerror returned the empty string. Needed on HP-UX 11.00.
30527
30528 2007-10-24  Micah Cowan  <micah@cowan.name>
30529
30530         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30531         * build-aux/bootstrap: Remove support for now-unnecessary option,
30532         --cvs-user, and envvars CVS_USER, CVS_RSH.
30533
30534 2007-10-24  Jim Meyering  <meyering@redhat.com>
30535
30536         Avoid diagnostics from sha1sum when there is no cached checksum.
30537         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30538         if the po.s1 file hasn't been created yet.
30539
30540         * build-aux/bootstrap: Sync from coreutils:
30541         2007-10-24  Jim Meyering  <meyering@redhat.com>
30542         Get gnulib from the git repository, not from an obsolete cvs one.
30543         * build-aux/bootstrap: Suggestion from Micah Cowan.
30544         2007-10-04  Jim Meyering  <jim@meyering.net>
30545         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30546         (update_po_files): Work also when there are no .po files in po/.
30547
30548 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30549
30550         * README: Append ".git" to git and cg examples.
30551         Problem reported by Benoit Sigoure.
30552
30553 2007-10-23  Micah Cowan  <micah@cowan.name>
30554
30555         * users.txt: Add wget.
30556
30557 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30558
30559         Fix linking of some unistdio tests on FreeBSD.
30560         * modules/unistdio/u16-vsnprintf-tests
30561         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30562         * modules/unistdio/u16-vsprintf-tests
30563         (test_u16_vsnprintf1_LDADD): Likewise.
30564         * modules/unistdio/u32-vsnprintf-tests
30565         (test_u32_vsnprintf1_LDADD): Likewise.
30566         * modules/unistdio/u32-vsprintf-tests
30567         (test_u32_vsprintf1_LDADD): Likewise.
30568         * modules/unistdio/u8-vsnprintf-tests
30569         (test_u8_vsnprintf1_LDADD): Likewise.
30570         * modules/unistdio/u8-vsprintf-tests
30571         (test_u8_vsprintf1_LDADD): Likewise.
30572         * modules/unistdio/ulc-vsnprintf-tests
30573         (test_ulc_vsnprintf1_LDADD): Likewise.
30574         * modules/unistdio/ulc-vsprintf-tests
30575         (test_ulc_vsprintf1_LDADD): Likewise.
30576
30577         Fix linking of some uniconv tests on FreeBSD.
30578         * modules/uniconv/u16-conv-from-enc-tests
30579         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30580         * modules/uniconv/u16-conv-to-enc-tests
30581         (test_u16_conv_to_enc_LDADD): Likewise.
30582         * modules/uniconv/u16-strconv-from-enc-tests
30583         (test_u16_strconv_from_enc_LDADD): Likewise.
30584         * modules/uniconv/u16-strconv-to-enc-tests
30585         (test_u16_strconv_to_enc_LDADD): Likewise.
30586         * modules/uniconv/u32-conv-from-enc-tests
30587         (test_u32_conv_from_enc_LDADD): Likewise.
30588         * modules/uniconv/u32-conv-to-enc-tests
30589         (test_u32_conv_to_enc_LDADD): Likewise.
30590         * modules/uniconv/u32-strconv-from-enc-tests
30591         (test_u32_strconv_from_enc_LDADD): Likewise.
30592         * modules/uniconv/u32-strconv-to-enc-tests
30593         (test_u32_strconv_to_enc_LDADD): Likewise.
30594         * modules/uniconv/u8-conv-from-enc-tests
30595         (test_u8_conv_from_enc_LDADD): Likewise.
30596         * modules/uniconv/u8-conv-to-enc-tests
30597         (test_u8_conv_to_enc_LDADD): Likewise.
30598         * modules/uniconv/u8-strconv-from-enc-tests
30599         (test_u8_strconv_from_enc_LDADD): Likewise.
30600         * modules/uniconv/u8-strconv-to-enc-tests
30601         (test_u8_strconv_to_enc_LDADD): Likewise.
30602
30603 2007-10-22  Bruno Haible  <bruno@clisp.org>
30604
30605         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30606         size.
30607
30608 2007-10-22  Eric Blake  <ebb9@byu.net>
30609
30610         Tweak x*printf documentation.
30611         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30612         variable name and comments.
30613         Suggested by Bruno Haible.
30614
30615 2007-10-22  Bruno Haible  <bruno@clisp.org>
30616
30617         * lib/acl.c (copy_acl): Fix file name in comment.
30618
30619 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30620
30621         Fix Tru64 problem with stdbool.h.
30622         * lib/stdbool.in.h (false, true):
30623         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30624         Don't declare as an enum in this situation; it runs afoul of Tru64.
30625         Problem reported by Steven M. Schweda in
30626         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30627
30628 2007-10-22  Eric Blake  <ebb9@byu.net>
30629
30630         Also wrap vf?printf.
30631         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30632         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30633         (xvprintf, xvfprintf): New functions.
30634
30635 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30636
30637         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30638         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
30639
30640         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
30641         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
30642
30643 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30644
30645         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
30646         by Bruno Haible.
30647
30648 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30649
30650         * lib/getloadavg.c
30651         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
30652         Undef `sys' after including sys/table.h, for Tru64 4.0D.
30653
30654         * tests/test-i-ring.c: Work for C89.
30655
30656 2007-10-22  Bruno Haible  <bruno@clisp.org>
30657
30658         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
30659         -1u, in preprocessor expression, so that we don't test for the bug
30660         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
30661         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
30662
30663 2007-10-22  Eric Blake  <ebb9@byu.net>
30664
30665         * tests/test-yesno.sh: Silence stderr during test.
30666
30667 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30668
30669         * modules/crypto/gc-camellia: New file.
30670
30671         * m4/gc-camellia.m4: New file.
30672
30673         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
30674
30675         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
30676
30677 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30678
30679         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
30680         --help to stdout.  Reported by sms@antinode.org (Steven
30681         M. Schweda).
30682
30683 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30684
30685         * users.txt: Fix link to libksba.
30686
30687 2007-10-21  Ben Pfaff  <blp@gnu.org>
30688
30689         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
30690         round.c roundf implementation that depends on floorf and ceilf to
30691         be tested unconditionally.
30692
30693 2007-10-21  Ben Pfaff  <blp@gnu.org>
30694
30695         * m4/check-libm-func.m4: Removed.
30696         * m4/check-math-lib.m4: New file.
30697         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
30698         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
30699         definition and lack of AC_LIBOBJ([roundf]).
30700         * m4/roundl.m4: Ditto, and similarly for roundl.
30701         * modules/round: Reference new m4 file.
30702         * modules/roundf: Ditto.
30703         * modules/roundl: Ditto.
30704         * tests/test-round2.c (main): Use ROUND instead of round.
30705         Bug report from Bruno Haible.
30706
30707 2007-10-21  Bruno Haible  <bruno@clisp.org>
30708
30709         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
30710         context.
30711
30712 2007-10-21  Bruno Haible  <bruno@clisp.org>
30713
30714         * tests/test-wcwidth.c (main): Allow negative result for some control
30715         characters.
30716
30717         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
30718         Needed on OSF/1 5.1.
30719
30720 2007-10-21  Bruno Haible  <bruno@clisp.org>
30721
30722         * tests/test-floorf1.c: Include isnanf.h.
30723         (main): Use isnanf() instead of isnan().
30724         * tests/test-ceilf1.c: Include isnanf.h.
30725         (main): Use isnanf() instead of isnan().
30726         * tests/test-truncf1.c: Include isnanf.h.
30727         (main): Use isnanf() instead of isnan().
30728         * tests/test-roundf1.c: Include isnanf.h.
30729         (main): Use isnanf() instead of isnan().
30730
30731 2007-10-21  Eric Blake  <ebb9@byu.net>
30732
30733         * users.txt: Update URL for m4.
30734
30735 2007-10-21  Bruno Haible  <bruno@clisp.org>
30736
30737         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
30738
30739 2007-10-21  Bruno Haible  <bruno@clisp.org>
30740
30741         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
30742         Git's management files if the CVS files are not present.
30743
30744 2007-10-20  Bruno Haible  <bruno@clisp.org>
30745
30746         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
30747         gcc-3.4.x.
30748
30749 2007-10-20  Ben Pfaff  <blp@gnu.org>
30750
30751         * lib/math.in.h: Declare round, roundf, roundl if we are providing
30752         implementations.
30753         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
30754         * lib/round.c: New file.
30755         * lib/roundf.c: New file.
30756         * lib/roundl.c: New file.
30757         * m4/round.m4: New file.
30758         * m4/roundf.m4: New file.
30759         * m4/roundl.m4: New file.
30760         * m4/check-libm-func-m4: New file.
30761         * modules/math: Replace round, roundf, roundl related @VARS@ in
30762         math.in.h.
30763         * modules/round: New file.
30764         * modules/round-tests: New file.
30765         * modules/roundf: New file.
30766         * modules/roundf-tests: New file.
30767         * modules/roundl: New file.
30768         * modules/roundl-tests: New file.
30769         * tests/test-round1.c: New file.
30770         * tests/test-round2.c: New file.
30771         * tests/test-roundf1.c: New file.
30772         * tests/test-roundf2.c: New file.
30773         * tests/test-roundl.c: New file.
30774         * doc/functions/round.texi: Mention round module.
30775         * doc/functions/roundf.texi: Mention roundf module.
30776         * doc/functions/roundl.texi: Mention roundl module.
30777         * MODULES.html.sh: Mention new modules.
30778         Thanks to Bruno Haible for suggestions.
30779
30780 2007-10-20  Jim Meyering  <meyering@redhat.com>
30781
30782         * lib/xprintf.c: Include <config.h> unconditionally.
30783
30784         Change xprintf's license to GPL.
30785         * modules/xprintf (License): s/LGPL/GPL/, since this module
30786         depends on modules (exit and exitfail) which are GPL.
30787         Suggestion from Bruno Haible.
30788
30789         xprintf fixes.
30790         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
30791         Use a clearer diagnostic.
30792         Patch from Bruno Haible.
30793
30794 2007-10-20  Bruno Haible  <bruno@clisp.org>
30795
30796         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
30797         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
30798         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30799
30800 2007-10-20  Bruno Haible  <bruno@clisp.org>
30801
30802         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
30803         precision in the comparison result > x - 1 or similar.
30804         * tests/test-ceilf2.c (correct_result_p): Likewise.
30805         * tests/test-truncf2.c (correct_result_p): Likewise.
30806         * tests/test-trunc2.c (correct_result_p): Likewise.
30807         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30808
30809 2007-10-20  Bruno Haible  <bruno@clisp.org>
30810
30811         * modules/ceil: New file.
30812         * m4/ceil.m4: New file.
30813         * doc/functions/ceil.texi: Mention the 'ceil' module.
30814
30815 2007-10-20  Bruno Haible  <bruno@clisp.org>
30816
30817         * modules/floor: New file.
30818         * m4/floor.m4: New file.
30819         * doc/functions/floor.texi: Mention the 'floor' module.
30820
30821 2007-10-20  Bruno Haible  <bruno@clisp.org>
30822
30823         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
30824         of %a.
30825         * modules/floorf-tests (Depends-on): Likewise.
30826         * modules/truncf-tests (Depends-on): Likewise.
30827         * modules/trunc-tests (Depends-on): Likewise.
30828         Reported by Ben Pfaff.
30829
30830 2007-10-19  Jim Meyering  <meyering@redhat.com>
30831
30832         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
30833         Don't bother testing specific errno values.  Just test ferror.
30834
30835         New module: xprintf
30836         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
30837
30838 2007-10-19  Bruno Haible  <bruno@clisp.org>
30839
30840         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
30841         syntax.
30842         * modules/javaexec (Makefile.am): Likewise.
30843         * modules/relocatable-prog (Makefile.am): Likewise.
30844         Suggested by Jim Meyering.
30845
30846 2007-10-18  Bruno Haible  <bruno@clisp.org>
30847
30848         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
30849         Reported by Jim Meyering.
30850
30851 2007-10-18  Eric Blake  <ebb9@byu.net>
30852
30853         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
30854
30855 2007-10-18  Bruno Haible  <bruno@clisp.org>
30856
30857         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
30858         the format string into writable memory. Needed in Fortify conditions.
30859
30860 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
30861             Bruno Haible  <bruno@clisp.org>
30862
30863         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
30864         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
30865         * modules/trim (Depends-on): Add mbchar.
30866         (configure.ac): Add gl_FUNC_MBRTOWC.
30867         (Makefile.am): Augment lib_SOURCES.
30868
30869 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
30870
30871         Modify glob.c to use fstatat and dirfd, to simplify it.
30872         Suggested by Eric Blake.
30873         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
30874         Don't include <stdbool.h>; not used.
30875         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
30876         (link_exists_p): Simplify implementation, since we can now assume
30877         dirfd and fstatat.
30878         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
30879
30880 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30881
30882         * gnulib-tool (func_get_dependencies): Fix sed script to
30883         match only tests.
30884
30885 2007-10-17  Bruno Haible  <bruno@clisp.org>
30886
30887         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
30888         allow locale names without encoding suffix.
30889         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30890         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30891
30892 2007-10-16  Bruno Haible  <bruno@clisp.org>
30893
30894         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
30895         * lib/getgroups.c (getgroups): Likewise.
30896         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
30897
30898 2007-10-16  Bruno Haible  <bruno@clisp.org>
30899
30900         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
30901         * modules/malloc-posix (License): Likewise.
30902         * modules/realloc-posix (License): Likewise.
30903         * modules/calloc-posix (License): Likewise.
30904         * modules/intprops (License): Change from GPL to LGPL, with
30905         Paul Eggert's approval.
30906
30907 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30908
30909         Merge glibc changes into lib/glob.c.
30910
30911         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
30912         2007-10-15 04:59:03 UTC.  Here are the changes:
30913
30914         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
30915
30916         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
30917
30918         * lib/glob.c: Add some branch prediction throughout.
30919
30920         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
30921
30922         [BZ #5103]
30923         * lib/glob.c (glob): Recognize patterns starting \/.
30924
30925         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
30926
30927         [BZ #3996]
30928         * lib/glob.c (attribute_hidden): Define if not defined.
30929         (glob): Unescape dirname, filename or username when needed and not
30930         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
30931         is NULL.  Handle unescaped [ in pattern without closing ].
30932         Don't pass GLOB_CHECK down to recursive glob for directories.
30933         (__glob_pattern_type): New function.
30934         (__glob_pattern_p): Implement using __glob_pattern_type.
30935         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
30936         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
30937         Remove unreachable code.
30938
30939         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
30940
30941         * lib/glob.c (glob_in_dir): Add some comments and asserts to
30942         explain why there are no leaks.
30943
30944         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
30945
30946         [BZ #3253]
30947         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
30948         time, rather allocate increasingly bigger arrays of pointers, if
30949         possible with alloca, if too large with malloc.
30950
30951 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30952
30953         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
30954         Problem reported by H.Merijn Brand in
30955         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
30956         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
30957         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
30958
30959 2007-10-15  Bruno Haible  <bruno@clisp.org>
30960
30961         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
30962         with explicit rpl_ prefix.
30963         * lib/fopen.c (fopen): Likewise.
30964         * lib/freopen.c (freopen): Likewise.
30965         * lib/iconv.c (iconv): Likewise.
30966         * lib/iconv_close.c (iconv_close): Likewise.
30967
30968 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30969
30970         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
30971
30972 2007-10-15  Bruno Haible  <bruno@clisp.org>
30973
30974         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
30975         <stddef.h> instead of <stdlib.h> since we only need NULL.
30976         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30977
30978 2007-10-15  Bruno Haible  <bruno@clisp.org>
30979
30980         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
30981         Replace paragraph talking about LIBOBJS.
30982         Reported by Colin Watson <cjwatson@debian.org>.
30983
30984 2007-10-15  Bruno Haible  <bruno@clisp.org>
30985
30986         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
30987         <stdlib.h> before using NULL.
30988
30989 2007-10-15  Simon Josefsson  <simon@josefsson.org>
30990
30991         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
30992         Reported by Albert Chin <china@thewrittenword.com>.
30993
30994 2007-10-14  Bruno Haible  <bruno@clisp.org>
30995
30996         * modules/iconv_open-utf-tests: New file.
30997         * tests/test-iconv-utf.c: New file.
30998
30999         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31000         * modules/iconv_open-utf: New file.
31001         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31002         (iconv, iconv_close): New declarations.
31003         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31004         be defined.
31005         (iconv_open): Add special handling of conversion between UTF-8 and
31006         UTF-{16,32}{BE,LE}.
31007         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31008         * lib/iconv_close.c: New file.
31009         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31010         gl_FUNC_ICONV_OPEN.
31011         (gl_FUNC_ICONV_OPEN): Use it.
31012         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31013         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31014         and REPLACE_ICONV_UTF.
31015         * modules/iconv_open (Depends-on): Add c-strcase.
31016         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31017         ICONV_CONST.
31018         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31019
31020 2007-10-13  Albert Chin  <china@thewrittenword.com>
31021             Bruno Haible  <bruno@clisp.org>
31022
31023         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31024         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31025
31026 2007-10-13  Bruno Haible  <bruno@clisp.org>
31027
31028         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31029         defined, use the ISO C99 inline semantics.
31030         * lib/argp.h (ARGP_EI): Likewise.
31031
31032 2007-10-13  Bruno Haible  <bruno@clisp.org>
31033
31034         Handle 'inline' change in gcc 4.3.0.
31035         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31036         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31037         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31038         argp_fmtstream_point): Disable 'extern' declaration if the function
31039         definition is going to be provided inline.
31040         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31041         semantics, not the ISO C99 inline semantics.
31042         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31043         'extern' declaration if the function definition is going to be provided
31044         inline.
31045         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31046         the GNU C inline semantics, not the ISO C99 inline semantics. With
31047         GCC 4.2, avoid a warning.
31048
31049 2007-10-13  Bruno Haible  <bruno@clisp.org>
31050
31051         * lib/freading.h (freading): Enable the use of __freading for
31052         glibc >= 2.7.
31053         * lib/freading.c (freading): Likewise.
31054
31055 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31056
31057         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31058         "warning: C99 inline functions are not supported; using GNU89".
31059
31060 2007-10-12  Bruno Haible  <bruno@clisp.org>
31061
31062         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31063         of 2.
31064         * tests/test-ceilf2.c: New file.
31065         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31066
31067         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31068         * modules/ceilf-tests: Update.
31069
31070 2007-10-12  Bruno Haible  <bruno@clisp.org>
31071
31072         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31073         of 2.
31074         * tests/test-floorf2.c: New file.
31075         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31076
31077         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31078         * modules/floorf-tests: Update.
31079
31080 2007-10-12  Bruno Haible  <bruno@clisp.org>
31081
31082         * tests/test-trunc2.c: New file.
31083         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31084
31085         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31086         * modules/trunc-tests: Update.
31087
31088 2007-10-12  Bruno Haible  <bruno@clisp.org>
31089
31090         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31091         of 2.
31092         * tests/test-truncf2.c: New file.
31093         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31094
31095         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31096         * modules/truncf-tests: Update.
31097
31098 2007-10-11  Eric Blake  <ebb9@byu.net>
31099
31100         Don't claim strerror is broken on Interix.
31101         * doc/functions/strerror.texi (strerror): Known broken systems are
31102         now Solaris 8, and not Interix.
31103         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31104         Interix on cross-compile.
31105         Reported by Martin Koeppe in
31106         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31107
31108 2007-10-11  Bruno Haible  <bruno@clisp.org>
31109
31110         * modules/i-ring-tests: New file.
31111         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31112         instead of assert.
31113
31114 2007-10-11  Bruno Haible  <bruno@clisp.org>
31115
31116         * modules/filenamecat-tests: New file.
31117         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31118         * lib/filenamecat.c: Remove test code.
31119
31120 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31121
31122         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31123
31124         * lib/strerror.c: Include <string.h> always, to test interface,
31125         and to remove the need for the dummy.
31126         Include intprops.h to compute width instead of doing it ourselves
31127         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31128         (strerror): Define it to return NULL if there's no system strerror.
31129         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31130         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31131         ancient pre-strerror Unix systems well any more.  Saying "unknown
31132         system error" is enough.
31133         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31134         simpler strerror.c implementation.
31135         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31136         Simplify the tests to reflect the simpler strerror implementation.
31137         * modules/strerror (Depends-on): Add intprops.
31138
31139 2007-10-09  Eric Blake  <ebb9@byu.net>
31140
31141         Silence test-fpending.
31142         * modules/fpending-tests (Files): Add wrapper script.
31143         * tests/test-fpending.sh: New file.
31144
31145 2007-10-09  Bruno Haible  <bruno@clisp.org>
31146
31147         * MODULES.html.sh (func_module): Don't create a hyperlink for
31148         function names like 'printf_frexp'.
31149         (Misc): Add crc, memxor.
31150         (Characteristics of floating types): New section.
31151         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31152         isnanf-nolibm, signbit, trunc, truncf, truncl.
31153         (Enhancements for ISO C 99 functions): New subsection Input/output.
31154         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31155         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31156         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
31157         (Compatibility checks for POSIX:2001 functions): Add clock-time.
31158         (Enhancements for POSIX:2001 functions): Add chdir-long.
31159         (File system functions): Add areadlink, chdir-safer, read-file.
31160         Remove cycle-check.
31161         (File system as inode set): New section.
31162         (Date and time): Add gethrxtime.
31163         (Multithreading): Add openmp.
31164         (Internationalization functions): Add localename.
31165         (Unicode string functions): Add unistr/u*-mbsnlen.
31166         (Support for maintaining and releasing projects): Add git-version-gen.
31167         (Lone files): Remove directories.
31168
31169 2007-10-08  Ben Pfaff  <blp@gnu.org>
31170
31171         * lib/xmalloca.h: Fix typo in comment.
31172
31173 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31174
31175         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
31176         when avoiding problems with integer overflow.  Use a portable test
31177         instead.
31178
31179 2007-10-08  Simon Josefsson  <simon@josefsson.org>
31180
31181         * modules/dummy (License): Change to LGPLv2+.
31182         * modules/float (License): Likewise
31183         * modules/realloc (License): Likewise
31184         * modules/stdlib (License): Likewise
31185
31186 2007-10-07  Bruno Haible  <bruno@clisp.org>
31187
31188         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31189         * floor.c (TWO_MANT_DIG): Likewise.
31190         * ceil.c (TWO_MANT_DIG): Likewise.
31191         Reported by Ben Pfaff.
31192
31193 2007-10-07  Bruno Haible  <bruno@clisp.org>
31194
31195         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31196         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31197         * lib/frexp.c (FUNC): Likewise.
31198         * lib/printf-frexp.h (printf_frexp): Likewise.
31199         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31200         * lib/printf-frexp.c (FUNC): Likewise.
31201         Suggested by Jim Meyering.
31202
31203 2007-10-07  Jim Meyering  <meyering@redhat.com>
31204
31205         Make xnanosleep's integer overflow test more robust.
31206         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31207         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31208
31209 2007-10-07  Bruno Haible  <bruno@clisp.org>
31210
31211         * NEWS: Mention the license change.
31212
31213         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31214         abbreviations in the modules files.
31215
31216         Change copyright notice from GPLv2+ to GPLv3+.
31217         * README: Change copyright notice.
31218         * MODULES.html.sh: Likewise.
31219         * build-aux/bootstrap.conf: Likewise.
31220         * build-aux/config.libpath: Likewise.
31221         * build-aux/csharpcomp.sh.in: Likewise.
31222         * build-aux/csharpexec.sh.in: Likewise.
31223         * build-aux/install-reloc: Likewise.
31224         * build-aux/javacomp.sh.in: Likewise.
31225         * build-aux/javaexec.sh.in: Likewise.
31226         * build-aux/ldd.sh.in: Likewise.
31227         * build-aux/reloc-ldflags: Likewise.
31228         * build-aux/relocatable.sh.in: Likewise.
31229         * build-aux/x-to-1.in: Likewise.
31230         * check-module: Likewise.
31231         * config/srclistvars.sh: Likewise.
31232         * gnulib-tool: Likewise.
31233         * lib/acl-internal.h: Likewise.
31234         * lib/acl.c: Likewise.
31235         * lib/acl.h: Likewise.
31236         * lib/acl_entries.c: Likewise.
31237         * lib/areadlink-with-size.c: Likewise.
31238         * lib/areadlink.c: Likewise.
31239         * lib/areadlink.h: Likewise.
31240         * lib/argmatch.c: Likewise.
31241         * lib/argmatch.h: Likewise.
31242         * lib/argp-ba.c: Likewise.
31243         * lib/argp-eexst.c: Likewise.
31244         * lib/argp-fmtstream.c: Likewise.
31245         * lib/argp-fmtstream.h: Likewise.
31246         * lib/argp-fs-xinl.c: Likewise.
31247         * lib/argp-help.c: Likewise.
31248         * lib/argp-namefrob.h: Likewise.
31249         * lib/argp-parse.c: Likewise.
31250         * lib/argp-pin.c: Likewise.
31251         * lib/argp-pv.c: Likewise.
31252         * lib/argp-pvh.c: Likewise.
31253         * lib/argp-xinl.c: Likewise.
31254         * lib/argp.h: Likewise.
31255         * lib/at-func.c: Likewise.
31256         * lib/atanl.c: Likewise.
31257         * lib/backupfile.c: Likewise.
31258         * lib/backupfile.h: Likewise.
31259         * lib/basename.c: Likewise.
31260         * lib/binary-io.h: Likewise.
31261         * lib/byteswap.in.h: Likewise.
31262         * lib/c-stack.c: Likewise.
31263         * lib/c-stack.h: Likewise.
31264         * lib/c-strcasestr.c: Likewise.
31265         * lib/c-strcasestr.h: Likewise.
31266         * lib/c-strstr.c: Likewise.
31267         * lib/c-strstr.h: Likewise.
31268         * lib/c-strtod.c: Likewise.
31269         * lib/calloc.c: Likewise.
31270         * lib/canon-host.c: Likewise.
31271         * lib/canon-host.h: Likewise.
31272         * lib/canonicalize-lgpl.c: Likewise.
31273         * lib/canonicalize.c: Likewise.
31274         * lib/canonicalize.h: Likewise.
31275         * lib/ceil.c: Likewise.
31276         * lib/ceilf.c: Likewise.
31277         * lib/ceill.c: Likewise.
31278         * lib/chdir-long.c: Likewise.
31279         * lib/chdir-long.h: Likewise.
31280         * lib/chdir-safer.c: Likewise.
31281         * lib/chdir-safer.h: Likewise.
31282         * lib/chown.c: Likewise.
31283         * lib/classpath.c: Likewise.
31284         * lib/classpath.h: Likewise.
31285         * lib/clean-temp.c: Likewise.
31286         * lib/clean-temp.h: Likewise.
31287         * lib/cloexec.c: Likewise.
31288         * lib/close-stream.c: Likewise.
31289         * lib/closein.c: Likewise.
31290         * lib/closein.h: Likewise.
31291         * lib/closeout.c: Likewise.
31292         * lib/closeout.h: Likewise.
31293         * lib/concat-filename.c: Likewise.
31294         * lib/copy-file.c: Likewise.
31295         * lib/copy-file.h: Likewise.
31296         * lib/count-one-bits.h: Likewise.
31297         * lib/crc.c: Likewise.
31298         * lib/crc.h: Likewise.
31299         * lib/creat-safer.c: Likewise.
31300         * lib/csharpcomp.c: Likewise.
31301         * lib/csharpcomp.h: Likewise.
31302         * lib/csharpexec.c: Likewise.
31303         * lib/csharpexec.h: Likewise.
31304         * lib/cycle-check.c: Likewise.
31305         * lib/cycle-check.h: Likewise.
31306         * lib/diacrit.c: Likewise.
31307         * lib/diacrit.h: Likewise.
31308         * lib/diffseq.h: Likewise.
31309         * lib/dirchownmod.c: Likewise.
31310         * lib/dirent.in.h: Likewise.
31311         * lib/dirfd.c: Likewise.
31312         * lib/dirfd.h: Likewise.
31313         * lib/dirname.c: Likewise.
31314         * lib/dirname.h: Likewise.
31315         * lib/dummy.c: Likewise.
31316         * lib/dup-safer.c: Likewise.
31317         * lib/dup2.c: Likewise.
31318         * lib/eealloc.h: Likewise.
31319         * lib/error.c: Likewise.
31320         * lib/error.h: Likewise.
31321         * lib/euidaccess.c: Likewise.
31322         * lib/exclude.c: Likewise.
31323         * lib/exclude.h: Likewise.
31324         * lib/execute.c: Likewise.
31325         * lib/execute.h: Likewise.
31326         * lib/exitfail.c: Likewise.
31327         * lib/exitfail.h: Likewise.
31328         * lib/expl.c: Likewise.
31329         * lib/fatal-signal.c: Likewise.
31330         * lib/fatal-signal.h: Likewise.
31331         * lib/fbufmode.c: Likewise.
31332         * lib/fbufmode.h: Likewise.
31333         * lib/fchdir.c: Likewise.
31334         * lib/fchmodat.c: Likewise.
31335         * lib/fchownat.c: Likewise.
31336         * lib/fcntl--.h: Likewise.
31337         * lib/fcntl-safer.h: Likewise.
31338         * lib/fcntl.in.h: Likewise.
31339         * lib/fd-safer.c: Likewise.
31340         * lib/fflush.c: Likewise.
31341         * lib/file-has-acl.c: Likewise.
31342         * lib/file-set.c: Likewise.
31343         * lib/file-type.c: Likewise.
31344         * lib/file-type.h: Likewise.
31345         * lib/fileblocks.c: Likewise.
31346         * lib/filemode.c: Likewise.
31347         * lib/filemode.h: Likewise.
31348         * lib/filename.h: Likewise.
31349         * lib/filenamecat.c: Likewise.
31350         * lib/filenamecat.h: Likewise.
31351         * lib/findprog.c: Likewise.
31352         * lib/findprog.h: Likewise.
31353         * lib/float.in.h: Likewise.
31354         * lib/floor.c: Likewise.
31355         * lib/floorf.c: Likewise.
31356         * lib/floorl.c: Likewise.
31357         * lib/fopen-safer.c: Likewise.
31358         * lib/fopen.c: Likewise.
31359         * lib/fpending.c: Likewise.
31360         * lib/fpending.h: Likewise.
31361         * lib/fprintf.c: Likewise.
31362         * lib/fprintftime.h: Likewise.
31363         * lib/fpucw.h: Likewise.
31364         * lib/fpurge.c: Likewise.
31365         * lib/fpurge.h: Likewise.
31366         * lib/freadable.c: Likewise.
31367         * lib/freadable.h: Likewise.
31368         * lib/freadahead.c: Likewise.
31369         * lib/freadahead.h: Likewise.
31370         * lib/freading.c: Likewise.
31371         * lib/freading.h: Likewise.
31372         * lib/free.c: Likewise.
31373         * lib/freopen.c: Likewise.
31374         * lib/frexp.c: Likewise.
31375         * lib/frexpl.c: Likewise.
31376         * lib/fseek.c: Likewise.
31377         * lib/fseterr.c: Likewise.
31378         * lib/fseterr.h: Likewise.
31379         * lib/fstatat.c: Likewise.
31380         * lib/fstrcmp.c: Likewise.
31381         * lib/fstrcmp.h: Likewise.
31382         * lib/fsusage.c: Likewise.
31383         * lib/fsusage.h: Likewise.
31384         * lib/ftell.c: Likewise.
31385         * lib/ftello.c: Likewise.
31386         * lib/fts-cycle.c: Likewise.
31387         * lib/fts.c: Likewise.
31388         * lib/fts_.h: Likewise.
31389         * lib/full-read.c: Likewise.
31390         * lib/full-read.h: Likewise.
31391         * lib/full-write.c: Likewise.
31392         * lib/full-write.h: Likewise.
31393         * lib/fwritable.c: Likewise.
31394         * lib/fwritable.h: Likewise.
31395         * lib/fwriteerror.c: Likewise.
31396         * lib/fwriteerror.h: Likewise.
31397         * lib/fwriting.c: Likewise.
31398         * lib/fwriting.h: Likewise.
31399         * lib/gcd.c: Likewise.
31400         * lib/gcd.h: Likewise.
31401         * lib/getcwd.c: Likewise.
31402         * lib/getdate.h: Likewise.
31403         * lib/getdate.y: Likewise.
31404         * lib/getdomainname.c: Likewise.
31405         * lib/getdomainname.h: Likewise.
31406         * lib/getgroups.c: Likewise.
31407         * lib/gethostname.c: Likewise.
31408         * lib/gethrxtime.c: Likewise.
31409         * lib/gethrxtime.h: Likewise.
31410         * lib/getloadavg.c: Likewise.
31411         * lib/getndelim2.c: Likewise.
31412         * lib/getndelim2.h: Likewise.
31413         * lib/getnline.c: Likewise.
31414         * lib/getnline.h: Likewise.
31415         * lib/getopt.c: Likewise.
31416         * lib/getopt.in.h: Likewise.
31417         * lib/getopt1.c: Likewise.
31418         * lib/getopt_int.h: Likewise.
31419         * lib/getpagesize.h: Likewise.
31420         * lib/getsubopt.c: Likewise.
31421         * lib/gettime.c: Likewise.
31422         * lib/getugroups.c: Likewise.
31423         * lib/getugroups.h: Likewise.
31424         * lib/getusershell.c: Likewise.
31425         * lib/gl_anyavltree_list1.h: Likewise.
31426         * lib/gl_anyavltree_list2.h: Likewise.
31427         * lib/gl_anyhash_list1.h: Likewise.
31428         * lib/gl_anyhash_list2.h: Likewise.
31429         * lib/gl_anylinked_list1.h: Likewise.
31430         * lib/gl_anylinked_list2.h: Likewise.
31431         * lib/gl_anyrbtree_list1.h: Likewise.
31432         * lib/gl_anyrbtree_list2.h: Likewise.
31433         * lib/gl_anytree_list1.h: Likewise.
31434         * lib/gl_anytree_list2.h: Likewise.
31435         * lib/gl_anytree_oset.h: Likewise.
31436         * lib/gl_anytreehash_list1.h: Likewise.
31437         * lib/gl_anytreehash_list2.h: Likewise.
31438         * lib/gl_array_list.c: Likewise.
31439         * lib/gl_array_list.h: Likewise.
31440         * lib/gl_array_oset.c: Likewise.
31441         * lib/gl_array_oset.h: Likewise.
31442         * lib/gl_avltree_list.c: Likewise.
31443         * lib/gl_avltree_list.h: Likewise.
31444         * lib/gl_avltree_oset.c: Likewise.
31445         * lib/gl_avltree_oset.h: Likewise.
31446         * lib/gl_avltreehash_list.c: Likewise.
31447         * lib/gl_avltreehash_list.h: Likewise.
31448         * lib/gl_carray_list.c: Likewise.
31449         * lib/gl_carray_list.h: Likewise.
31450         * lib/gl_linked_list.c: Likewise.
31451         * lib/gl_linked_list.h: Likewise.
31452         * lib/gl_linkedhash_list.c: Likewise.
31453         * lib/gl_linkedhash_list.h: Likewise.
31454         * lib/gl_list.c: Likewise.
31455         * lib/gl_list.h: Likewise.
31456         * lib/gl_oset.c: Likewise.
31457         * lib/gl_oset.h: Likewise.
31458         * lib/gl_rbtree_list.c: Likewise.
31459         * lib/gl_rbtree_list.h: Likewise.
31460         * lib/gl_rbtree_oset.c: Likewise.
31461         * lib/gl_rbtree_oset.h: Likewise.
31462         * lib/gl_rbtreehash_list.c: Likewise.
31463         * lib/gl_rbtreehash_list.h: Likewise.
31464         * lib/gl_sublist.c: Likewise.
31465         * lib/gl_sublist.h: Likewise.
31466         * lib/group-member.c: Likewise.
31467         * lib/group-member.h: Likewise.
31468         * lib/hard-locale.c: Likewise.
31469         * lib/hard-locale.h: Likewise.
31470         * lib/hash-pjw.c: Likewise.
31471         * lib/hash-pjw.h: Likewise.
31472         * lib/hash-triple.c: Likewise.
31473         * lib/hash.c: Likewise.
31474         * lib/hash.h: Likewise.
31475         * lib/human.c: Likewise.
31476         * lib/human.h: Likewise.
31477         * lib/i-ring.c: Likewise.
31478         * lib/i-ring.h: Likewise.
31479         * lib/idcache.c: Likewise.
31480         * lib/imaxabs.c: Likewise.
31481         * lib/imaxdiv.c: Likewise.
31482         * lib/inet_pton.c: Likewise.
31483         * lib/inet_pton.h: Likewise.
31484         * lib/intprops.h: Likewise.
31485         * lib/inttostr.c: Likewise.
31486         * lib/inttostr.h: Likewise.
31487         * lib/inttypes.in.h: Likewise.
31488         * lib/isapipe.c: Likewise.
31489         * lib/isdir.c: Likewise.
31490         * lib/isnan.c: Likewise.
31491         * lib/isnan.h: Likewise.
31492         * lib/isnanf.c: Likewise.
31493         * lib/isnanf.h: Likewise.
31494         * lib/isnanl-nolibm.h: Likewise.
31495         * lib/isnanl.c: Likewise.
31496         * lib/isnanl.h: Likewise.
31497         * lib/javacomp.c: Likewise.
31498         * lib/javacomp.h: Likewise.
31499         * lib/javaexec.c: Likewise.
31500         * lib/javaexec.h: Likewise.
31501         * lib/javaversion.c: Likewise.
31502         * lib/javaversion.h: Likewise.
31503         * lib/javaversion.java: Likewise.
31504         * lib/lbrkprop.h: Likewise.
31505         * lib/lchmod.h: Likewise.
31506         * lib/lchown.c: Likewise.
31507         * lib/ldexpl.c: Likewise.
31508         * lib/linebreak.c: Likewise.
31509         * lib/linebreak.h: Likewise.
31510         * lib/linebuffer.c: Likewise.
31511         * lib/linebuffer.h: Likewise.
31512         * lib/locale.in.h: Likewise.
31513         * lib/logl.c: Likewise.
31514         * lib/long-options.c: Likewise.
31515         * lib/long-options.h: Likewise.
31516         * lib/lstat.c: Likewise.
31517         * lib/lstat.h: Likewise.
31518         * lib/math.in.h: Likewise.
31519         * lib/mbchar.c: Likewise.
31520         * lib/mbchar.h: Likewise.
31521         * lib/mbfile.h: Likewise.
31522         * lib/mbiter.h: Likewise.
31523         * lib/mbscasecmp.c: Likewise.
31524         * lib/mbscasestr.c: Likewise.
31525         * lib/mbschr.c: Likewise.
31526         * lib/mbscspn.c: Likewise.
31527         * lib/mbslen.c: Likewise.
31528         * lib/mbsncasecmp.c: Likewise.
31529         * lib/mbsnlen.c: Likewise.
31530         * lib/mbspbrk.c: Likewise.
31531         * lib/mbspcasecmp.c: Likewise.
31532         * lib/mbsrchr.c: Likewise.
31533         * lib/mbssep.c: Likewise.
31534         * lib/mbsspn.c: Likewise.
31535         * lib/mbsstr.c: Likewise.
31536         * lib/mbstok_r.c: Likewise.
31537         * lib/mbswidth.c: Likewise.
31538         * lib/mbswidth.h: Likewise.
31539         * lib/mbuiter.h: Likewise.
31540         * lib/memcasecmp.c: Likewise.
31541         * lib/memcasecmp.h: Likewise.
31542         * lib/memchr.c: Likewise.
31543         * lib/memcmp.c: Likewise.
31544         * lib/memcoll.c: Likewise.
31545         * lib/memcoll.h: Likewise.
31546         * lib/memcpy.c: Likewise.
31547         * lib/memrchr.c: Likewise.
31548         * lib/mkancesdirs.c: Likewise.
31549         * lib/mkdir-p.c: Likewise.
31550         * lib/mkdir-p.h: Likewise.
31551         * lib/mkdir.c: Likewise.
31552         * lib/mkdirat.c: Likewise.
31553         * lib/mkdtemp.c: Likewise.
31554         * lib/mkstemp-safer.c: Likewise.
31555         * lib/mkstemp.c: Likewise.
31556         * lib/modechange.c: Likewise.
31557         * lib/modechange.h: Likewise.
31558         * lib/mountlist.c: Likewise.
31559         * lib/mountlist.h: Likewise.
31560         * lib/mpsort.c: Likewise.
31561         * lib/nanosleep.c: Likewise.
31562         * lib/obstack.c: Likewise.
31563         * lib/obstack.h: Likewise.
31564         * lib/open-safer.c: Likewise.
31565         * lib/open.c: Likewise.
31566         * lib/openat-die.c: Likewise.
31567         * lib/openat-priv.h: Likewise.
31568         * lib/openat-proc.c: Likewise.
31569         * lib/openat.c: Likewise.
31570         * lib/openat.h: Likewise.
31571         * lib/pagealign_alloc.c: Likewise.
31572         * lib/pagealign_alloc.h: Likewise.
31573         * lib/physmem.c: Likewise.
31574         * lib/physmem.h: Likewise.
31575         * lib/pipe-safer.c: Likewise.
31576         * lib/pipe.c: Likewise.
31577         * lib/pipe.h: Likewise.
31578         * lib/posixtm.c: Likewise.
31579         * lib/posixtm.h: Likewise.
31580         * lib/posixver.c: Likewise.
31581         * lib/printf-frexp.c: Likewise.
31582         * lib/printf-frexp.h: Likewise.
31583         * lib/printf-frexpl.c: Likewise.
31584         * lib/printf-frexpl.h: Likewise.
31585         * lib/printf.c: Likewise.
31586         * lib/progname.c: Likewise.
31587         * lib/progname.h: Likewise.
31588         * lib/progreloc.c: Likewise.
31589         * lib/putenv.c: Likewise.
31590         * lib/quote.c: Likewise.
31591         * lib/quote.h: Likewise.
31592         * lib/quotearg.c: Likewise.
31593         * lib/quotearg.h: Likewise.
31594         * lib/raise.c: Likewise.
31595         * lib/readline.c: Likewise.
31596         * lib/readline.h: Likewise.
31597         * lib/readlink.c: Likewise.
31598         * lib/readtokens.c: Likewise.
31599         * lib/readtokens.h: Likewise.
31600         * lib/readtokens0.c: Likewise.
31601         * lib/readtokens0.h: Likewise.
31602         * lib/readutmp.c: Likewise.
31603         * lib/readutmp.h: Likewise.
31604         * lib/realloc.c: Likewise.
31605         * lib/relocwrapper.c: Likewise.
31606         * lib/rename-dest-slash.c: Likewise.
31607         * lib/rename.c: Likewise.
31608         * lib/rmdir.c: Likewise.
31609         * lib/rpmatch.c: Likewise.
31610         * lib/safe-read.c: Likewise.
31611         * lib/safe-read.h: Likewise.
31612         * lib/safe-write.c: Likewise.
31613         * lib/safe-write.h: Likewise.
31614         * lib/same-inode.h: Likewise.
31615         * lib/same.c: Likewise.
31616         * lib/same.h: Likewise.
31617         * lib/save-cwd.c: Likewise.
31618         * lib/save-cwd.h: Likewise.
31619         * lib/savedir.c: Likewise.
31620         * lib/savedir.h: Likewise.
31621         * lib/savewd.c: Likewise.
31622         * lib/savewd.h: Likewise.
31623         * lib/search.in.h: Likewise.
31624         * lib/setenv.c: Likewise.
31625         * lib/setenv.h: Likewise.
31626         * lib/settime.c: Likewise.
31627         * lib/sh-quote.c: Likewise.
31628         * lib/sh-quote.h: Likewise.
31629         * lib/sig2str.c: Likewise.
31630         * lib/sig2str.h: Likewise.
31631         * lib/signal.in.h: Likewise.
31632         * lib/signbitd.c: Likewise.
31633         * lib/signbitf.c: Likewise.
31634         * lib/signbitl.c: Likewise.
31635         * lib/sigprocmask.c: Likewise.
31636         * lib/sincosl.c: Likewise.
31637         * lib/sleep.c: Likewise.
31638         * lib/sprintf.c: Likewise.
31639         * lib/sqrtl.c: Likewise.
31640         * lib/stat-time.h: Likewise.
31641         * lib/stdio--.h: Likewise.
31642         * lib/stdio-safer.h: Likewise.
31643         * lib/stdlib--.h: Likewise.
31644         * lib/stdlib-safer.h: Likewise.
31645         * lib/stdlib.in.h: Likewise.
31646         * lib/stpcpy.c: Likewise.
31647         * lib/stpncpy.c: Likewise.
31648         * lib/strchrnul.c: Likewise.
31649         * lib/strcspn.c: Likewise.
31650         * lib/strerror.c: Likewise.
31651         * lib/strftime.c: Likewise.
31652         * lib/strftime.h: Likewise.
31653         * lib/striconveh.c: Likewise.
31654         * lib/striconveh.h: Likewise.
31655         * lib/striconveha.c: Likewise.
31656         * lib/striconveha.h: Likewise.
31657         * lib/stripslash.c: Likewise.
31658         * lib/strnlen1.c: Likewise.
31659         * lib/strnlen1.h: Likewise.
31660         * lib/strtod.c: Likewise.
31661         * lib/strtoimax.c: Likewise.
31662         * lib/strtok_r.c: Likewise.
31663         * lib/strtol.c: Likewise.
31664         * lib/strtoll.c: Likewise.
31665         * lib/strtoul.c: Likewise.
31666         * lib/strtoull.c: Likewise.
31667         * lib/sysexits.in.h: Likewise.
31668         * lib/tempname.c: Likewise.
31669         * lib/tempname.h: Likewise.
31670         * lib/timespec.h: Likewise.
31671         * lib/tls.c: Likewise.
31672         * lib/tls.h: Likewise.
31673         * lib/tmpdir.c: Likewise.
31674         * lib/tmpdir.h: Likewise.
31675         * lib/tmpfile-safer.c: Likewise.
31676         * lib/tmpfile.c: Likewise.
31677         * lib/trigl.c: Likewise.
31678         * lib/trigl.h: Likewise.
31679         * lib/trim.c: Likewise.
31680         * lib/trim.h: Likewise.
31681         * lib/trunc.c: Likewise.
31682         * lib/truncf.c: Likewise.
31683         * lib/truncl.c: Likewise.
31684         * lib/tsearch.c: Likewise.
31685         * lib/unicodeio.c: Likewise.
31686         * lib/unicodeio.h: Likewise.
31687         * lib/unistd--.h: Likewise.
31688         * lib/unistd-safer.h: Likewise.
31689         * lib/unistdio/ulc-fprintf.c: Likewise.
31690         * lib/unistdio/ulc-vfprintf.c: Likewise.
31691         * lib/unlinkdir.c: Likewise.
31692         * lib/unlinkdir.h: Likewise.
31693         * lib/unlocked-io.h: Likewise.
31694         * lib/unsetenv.c: Likewise.
31695         * lib/userspec.c: Likewise.
31696         * lib/utime.c: Likewise.
31697         * lib/utimecmp.c: Likewise.
31698         * lib/utimecmp.h: Likewise.
31699         * lib/utimens.c: Likewise.
31700         * lib/verify.h: Likewise.
31701         * lib/verror.c: Likewise.
31702         * lib/verror.h: Likewise.
31703         * lib/version-etc-fsf.c: Likewise.
31704         * lib/version-etc.c: Likewise.
31705         * lib/version-etc.h: Likewise.
31706         * lib/vfprintf.c: Likewise.
31707         * lib/vprintf.c: Likewise.
31708         * lib/vsprintf.c: Likewise.
31709         * lib/w32spawn.h: Likewise.
31710         * lib/wait-process.c: Likewise.
31711         * lib/wait-process.h: Likewise.
31712         * lib/wcwidth.c: Likewise.
31713         * lib/write-any-file.c: Likewise.
31714         * lib/xalloc-die.c: Likewise.
31715         * lib/xalloc.h: Likewise.
31716         * lib/xasprintf.c: Likewise.
31717         * lib/xgetcwd.c: Likewise.
31718         * lib/xgetcwd.h: Likewise.
31719         * lib/xgetdomainname.c: Likewise.
31720         * lib/xgetdomainname.h: Likewise.
31721         * lib/xgethostname.c: Likewise.
31722         * lib/xmalloc.c: Likewise.
31723         * lib/xmalloca.c: Likewise.
31724         * lib/xmalloca.h: Likewise.
31725         * lib/xmemcoll.c: Likewise.
31726         * lib/xnanosleep.c: Likewise.
31727         * lib/xreadlink.c: Likewise.
31728         * lib/xreadlink.h: Likewise.
31729         * lib/xsetenv.c: Likewise.
31730         * lib/xsetenv.h: Likewise.
31731         * lib/xstriconv.c: Likewise.
31732         * lib/xstriconv.h: Likewise.
31733         * lib/xstrndup.c: Likewise.
31734         * lib/xstrndup.h: Likewise.
31735         * lib/xstrtod.c: Likewise.
31736         * lib/xstrtod.h: Likewise.
31737         * lib/xstrtol-error.c: Likewise.
31738         * lib/xstrtol.c: Likewise.
31739         * lib/xstrtol.h: Likewise.
31740         * lib/xtime.h: Likewise.
31741         * lib/xvasprintf.c: Likewise.
31742         * lib/xvasprintf.h: Likewise.
31743         * lib/yesno.c: Likewise.
31744         * lib/yesno.h: Likewise.
31745         * posix-modules: Likewise.
31746         * tests/test-alloca-opt.c: Likewise.
31747         * tests/test-arcfour.c: Likewise.
31748         * tests/test-arctwo.c: Likewise.
31749         * tests/test-argmatch.c: Likewise.
31750         * tests/test-argp-2.sh: Likewise.
31751         * tests/test-argp.c: Likewise.
31752         * tests/test-arpa_inet.c: Likewise.
31753         * tests/test-array_list.c: Likewise.
31754         * tests/test-array_oset.c: Likewise.
31755         * tests/test-atexit.c: Likewise.
31756         * tests/test-avltree_list.c: Likewise.
31757         * tests/test-avltree_oset.c: Likewise.
31758         * tests/test-avltreehash_list.c: Likewise.
31759         * tests/test-base64.c: Likewise.
31760         * tests/test-binary-io.c: Likewise.
31761         * tests/test-byteswap.c: Likewise.
31762         * tests/test-c-ctype.c: Likewise.
31763         * tests/test-c-strcasecmp.c: Likewise.
31764         * tests/test-c-strcasestr.c: Likewise.
31765         * tests/test-c-strncasecmp.c: Likewise.
31766         * tests/test-c-strstr.c: Likewise.
31767         * tests/test-canonicalize-lgpl.c: Likewise.
31768         * tests/test-canonicalize.c: Likewise.
31769         * tests/test-carray_list.c: Likewise.
31770         * tests/test-ceilf.c: Likewise.
31771         * tests/test-ceill.c: Likewise.
31772         * tests/test-count-one-bits.c: Likewise.
31773         * tests/test-crc.c: Likewise.
31774         * tests/test-dirname.c: Likewise.
31775         * tests/test-fbufmode.c: Likewise.
31776         * tests/test-fcntl.c: Likewise.
31777         * tests/test-fflush.c: Likewise.
31778         * tests/test-floorf.c: Likewise.
31779         * tests/test-floorl.c: Likewise.
31780         * tests/test-fopen.c: Likewise.
31781         * tests/test-fprintf-posix.c: Likewise.
31782         * tests/test-fprintf-posix.h: Likewise.
31783         * tests/test-fpurge.c: Likewise.
31784         * tests/test-freadable.c: Likewise.
31785         * tests/test-freadahead.c: Likewise.
31786         * tests/test-freading.c: Likewise.
31787         * tests/test-freopen.c: Likewise.
31788         * tests/test-frexp.c: Likewise.
31789         * tests/test-frexpl.c: Likewise.
31790         * tests/test-fseek.c: Likewise.
31791         * tests/test-fseeko.c: Likewise.
31792         * tests/test-fseterr.c: Likewise.
31793         * tests/test-fstrcmp.c: Likewise.
31794         * tests/test-ftell.c: Likewise.
31795         * tests/test-ftello.c: Likewise.
31796         * tests/test-fwritable.c: Likewise.
31797         * tests/test-fwriting.c: Likewise.
31798         * tests/test-getaddrinfo.c: Likewise.
31799         * tests/test-getpass.c: Likewise.
31800         * tests/test-gettimeofday.c: Likewise.
31801         * tests/test-hmac-md5.c: Likewise.
31802         * tests/test-hmac-sha1.c: Likewise.
31803         * tests/test-iconv.c: Likewise.
31804         * tests/test-iconvme.c: Likewise.
31805         * tests/test-inttypes.c: Likewise.
31806         * tests/test-isnan.c: Likewise.
31807         * tests/test-isnanf.c: Likewise.
31808         * tests/test-isnanl-nolibm.c: Likewise.
31809         * tests/test-isnanl.c: Likewise.
31810         * tests/test-isnanl.h: Likewise.
31811         * tests/test-ldexpl.c: Likewise.
31812         * tests/test-linked_list.c: Likewise.
31813         * tests/test-linkedhash_list.c: Likewise.
31814         * tests/test-locale.c: Likewise.
31815         * tests/test-localename.c: Likewise.
31816         * tests/test-lock.c: Likewise.
31817         * tests/test-lseek.c: Likewise.
31818         * tests/test-malloca.c: Likewise.
31819         * tests/test-math.c: Likewise.
31820         * tests/test-mbscasecmp.c: Likewise.
31821         * tests/test-mbscasestr1.c: Likewise.
31822         * tests/test-mbscasestr2.c: Likewise.
31823         * tests/test-mbscasestr3.c: Likewise.
31824         * tests/test-mbscasestr4.c: Likewise.
31825         * tests/test-mbschr.c: Likewise.
31826         * tests/test-mbscspn.c: Likewise.
31827         * tests/test-mbsncasecmp.c: Likewise.
31828         * tests/test-mbspbrk.c: Likewise.
31829         * tests/test-mbspcasecmp.c: Likewise.
31830         * tests/test-mbsrchr.c: Likewise.
31831         * tests/test-mbsspn.c: Likewise.
31832         * tests/test-mbsstr1.c: Likewise.
31833         * tests/test-mbsstr2.c: Likewise.
31834         * tests/test-mbsstr3.c: Likewise.
31835         * tests/test-md5.c: Likewise.
31836         * tests/test-memmem.c: Likewise.
31837         * tests/test-netinet_in.c: Likewise.
31838         * tests/test-open.c: Likewise.
31839         * tests/test-printf-frexp.c: Likewise.
31840         * tests/test-printf-frexpl.c: Likewise.
31841         * tests/test-printf-posix.c: Likewise.
31842         * tests/test-printf-posix.h: Likewise.
31843         * tests/test-rbtree_list.c: Likewise.
31844         * tests/test-rbtree_oset.c: Likewise.
31845         * tests/test-rbtreehash_list.c: Likewise.
31846         * tests/test-read-file.c: Likewise.
31847         * tests/test-rijndael.c: Likewise.
31848         * tests/test-search.c: Likewise.
31849         * tests/test-signbit.c: Likewise.
31850         * tests/test-sleep.c: Likewise.
31851         * tests/test-snprintf-posix.c: Likewise.
31852         * tests/test-snprintf-posix.h: Likewise.
31853         * tests/test-snprintf.c: Likewise.
31854         * tests/test-sprintf-posix.c: Likewise.
31855         * tests/test-sprintf-posix.h: Likewise.
31856         * tests/test-stat-time.c: Likewise.
31857         * tests/test-stdbool.c: Likewise.
31858         * tests/test-stdint.c: Likewise.
31859         * tests/test-stdio.c: Likewise.
31860         * tests/test-stdlib.c: Likewise.
31861         * tests/test-stpncpy.c: Likewise.
31862         * tests/test-strcasestr.c: Likewise.
31863         * tests/test-striconv.c: Likewise.
31864         * tests/test-striconveh.c: Likewise.
31865         * tests/test-striconveha.c: Likewise.
31866         * tests/test-string.c: Likewise.
31867         * tests/test-sys_select.c: Likewise.
31868         * tests/test-sys_socket.c: Likewise.
31869         * tests/test-sys_stat.c: Likewise.
31870         * tests/test-sys_time.c: Likewise.
31871         * tests/test-sysexits.c: Likewise.
31872         * tests/test-time.c: Likewise.
31873         * tests/test-tls.c: Likewise.
31874         * tests/test-trunc.c: Likewise.
31875         * tests/test-truncf.c: Likewise.
31876         * tests/test-truncl.c: Likewise.
31877         * tests/test-unistd.c: Likewise.
31878         * tests/test-vasnprintf-posix.c: Likewise.
31879         * tests/test-vasnprintf-posix2.c: Likewise.
31880         * tests/test-vasnprintf.c: Likewise.
31881         * tests/test-vasprintf-posix.c: Likewise.
31882         * tests/test-vasprintf.c: Likewise.
31883         * tests/test-verify.c: Likewise.
31884         * tests/test-vfprintf-posix.c: Likewise.
31885         * tests/test-vprintf-posix.c: Likewise.
31886         * tests/test-vsnprintf-posix.c: Likewise.
31887         * tests/test-vsnprintf.c: Likewise.
31888         * tests/test-vsprintf-posix.c: Likewise.
31889         * tests/test-wchar.c: Likewise.
31890         * tests/test-wctype.c: Likewise.
31891         * tests/test-wcwidth.c: Likewise.
31892         * tests/test-xstrtol.c: Likewise.
31893         * tests/test-xvasprintf.c: Likewise.
31894         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
31895         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
31896         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31897         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31898         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31899         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
31900         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31901         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31902         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31903         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
31904         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31905         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31906         * tests/uniname/test-uninames.c: Likewise.
31907         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
31908         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
31909         * tests/unistdio/test-u16-printf1.h: Likewise.
31910         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
31911         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
31912         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
31913         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
31914         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
31915         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
31916         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
31917         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
31918         * tests/unistdio/test-u32-printf1.h: Likewise.
31919         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
31920         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
31921         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
31922         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
31923         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
31924         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
31925         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
31926         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
31927         * tests/unistdio/test-u8-printf1.h: Likewise.
31928         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
31929         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
31930         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
31931         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
31932         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
31933         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
31934         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
31935         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
31936         * tests/unistdio/test-ulc-printf1.h: Likewise.
31937         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
31938         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
31939         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
31940         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
31941         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
31942         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
31943         * tests/uniwidth/test-u16-strwidth.c: Likewise.
31944         * tests/uniwidth/test-u16-width.c: Likewise.
31945         * tests/uniwidth/test-u32-strwidth.c: Likewise.
31946         * tests/uniwidth/test-u32-width.c: Likewise.
31947         * tests/uniwidth/test-u8-strwidth.c: Likewise.
31948         * tests/uniwidth/test-u8-width.c: Likewise.
31949         * tests/uniwidth/test-uc_width.c: Likewise.
31950         * config/srclist-update: Likewise.
31951         (fixlicense): Update to GPLv3+.
31952
31953         Change copyright notice from LGPLv2.1+ to LGPLv3+.
31954         * tests/test-tsearch.c: Change copyright notice.
31955
31956         Change copyright notice from LGPLv2.0+ to LGPLv3+.
31957         * lib/c-strcaseeq.h: Change copyright notice.
31958         * lib/streq.h: Likewise.
31959         * lib/uniconv.h: Likewise.
31960         * lib/uniconv/u-conv-from-enc.h: Likewise.
31961         * lib/uniconv/u-conv-to-enc.h: Likewise.
31962         * lib/uniconv/u-strconv-from-enc.h: Likewise.
31963         * lib/uniconv/u-strconv-to-enc.h: Likewise.
31964         * lib/uniconv/u16-conv-from-enc.c: Likewise.
31965         * lib/uniconv/u16-conv-to-enc.c: Likewise.
31966         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
31967         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
31968         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
31969         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
31970         * lib/uniconv/u32-conv-from-enc.c: Likewise.
31971         * lib/uniconv/u32-conv-to-enc.c: Likewise.
31972         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
31973         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
31974         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
31975         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
31976         * lib/uniconv/u8-conv-from-enc.c: Likewise.
31977         * lib/uniconv/u8-conv-to-enc.c: Likewise.
31978         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
31979         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
31980         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
31981         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
31982         * lib/uniname.h: Likewise.
31983         * lib/uniname/uniname.c: Likewise.
31984         * lib/unistdio.h: Likewise.
31985         * lib/unistdio/u-asnprintf.h: Likewise.
31986         * lib/unistdio/u-asprintf.h: Likewise.
31987         * lib/unistdio/u-printf-args.c: Likewise.
31988         * lib/unistdio/u-printf-args.h: Likewise.
31989         * lib/unistdio/u-printf-parse.h: Likewise.
31990         * lib/unistdio/u-snprintf.h: Likewise.
31991         * lib/unistdio/u-sprintf.h: Likewise.
31992         * lib/unistdio/u-vasprintf.h: Likewise.
31993         * lib/unistdio/u-vsnprintf.h: Likewise.
31994         * lib/unistdio/u-vsprintf.h: Likewise.
31995         * lib/unistdio/u16-asnprintf.c: Likewise.
31996         * lib/unistdio/u16-asprintf.c: Likewise.
31997         * lib/unistdio/u16-printf-parse.c: Likewise.
31998         * lib/unistdio/u16-snprintf.c: Likewise.
31999         * lib/unistdio/u16-sprintf.c: Likewise.
32000         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32001         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32002         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32003         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32004         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32005         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32006         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32007         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32008         * lib/unistdio/u16-vasnprintf.c: Likewise.
32009         * lib/unistdio/u16-vasprintf.c: Likewise.
32010         * lib/unistdio/u16-vsnprintf.c: Likewise.
32011         * lib/unistdio/u16-vsprintf.c: Likewise.
32012         * lib/unistdio/u32-asnprintf.c: Likewise.
32013         * lib/unistdio/u32-asprintf.c: Likewise.
32014         * lib/unistdio/u32-printf-parse.c: Likewise.
32015         * lib/unistdio/u32-snprintf.c: Likewise.
32016         * lib/unistdio/u32-sprintf.c: Likewise.
32017         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32018         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32019         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32020         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32021         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32022         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32023         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32024         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32025         * lib/unistdio/u32-vasnprintf.c: Likewise.
32026         * lib/unistdio/u32-vasprintf.c: Likewise.
32027         * lib/unistdio/u32-vsnprintf.c: Likewise.
32028         * lib/unistdio/u32-vsprintf.c: Likewise.
32029         * lib/unistdio/u8-asnprintf.c: Likewise.
32030         * lib/unistdio/u8-asprintf.c: Likewise.
32031         * lib/unistdio/u8-printf-parse.c: Likewise.
32032         * lib/unistdio/u8-snprintf.c: Likewise.
32033         * lib/unistdio/u8-sprintf.c: Likewise.
32034         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32035         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32036         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32037         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32038         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32039         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32040         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32041         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32042         * lib/unistdio/u8-vasnprintf.c: Likewise.
32043         * lib/unistdio/u8-vasprintf.c: Likewise.
32044         * lib/unistdio/u8-vsnprintf.c: Likewise.
32045         * lib/unistdio/u8-vsprintf.c: Likewise.
32046         * lib/unistdio/ulc-asnprintf.c: Likewise.
32047         * lib/unistdio/ulc-asprintf.c: Likewise.
32048         * lib/unistdio/ulc-printf-parse.c: Likewise.
32049         * lib/unistdio/ulc-snprintf.c: Likewise.
32050         * lib/unistdio/ulc-sprintf.c: Likewise.
32051         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32052         * lib/unistdio/ulc-vasprintf.c: Likewise.
32053         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32054         * lib/unistdio/ulc-vsprintf.c: Likewise.
32055         * lib/unistr.h: Likewise.
32056         * lib/unistr/u-cpy-alloc.h: Likewise.
32057         * lib/unistr/u-cpy.h: Likewise.
32058         * lib/unistr/u-endswith.h: Likewise.
32059         * lib/unistr/u-move.h: Likewise.
32060         * lib/unistr/u-set.h: Likewise.
32061         * lib/unistr/u-startswith.h: Likewise.
32062         * lib/unistr/u-stpcpy.h: Likewise.
32063         * lib/unistr/u-stpncpy.h: Likewise.
32064         * lib/unistr/u-strcat.h: Likewise.
32065         * lib/unistr/u-strcpy.h: Likewise.
32066         * lib/unistr/u-strcspn.h: Likewise.
32067         * lib/unistr/u-strdup.h: Likewise.
32068         * lib/unistr/u-strlen.h: Likewise.
32069         * lib/unistr/u-strncat.h: Likewise.
32070         * lib/unistr/u-strncpy.h: Likewise.
32071         * lib/unistr/u-strnlen.h: Likewise.
32072         * lib/unistr/u-strpbrk.h: Likewise.
32073         * lib/unistr/u-strspn.h: Likewise.
32074         * lib/unistr/u-strstr.h: Likewise.
32075         * lib/unistr/u-strtok.h: Likewise.
32076         * lib/unistr/u16-check.c: Likewise.
32077         * lib/unistr/u16-chr.c: Likewise.
32078         * lib/unistr/u16-cmp.c: Likewise.
32079         * lib/unistr/u16-cpy-alloc.c: Likewise.
32080         * lib/unistr/u16-cpy.c: Likewise.
32081         * lib/unistr/u16-endswith.c: Likewise.
32082         * lib/unistr/u16-mblen.c: Likewise.
32083         * lib/unistr/u16-mbsnlen.c: Likewise.
32084         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32085         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32086         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32087         * lib/unistr/u16-mbtouc.c: Likewise.
32088         * lib/unistr/u16-mbtoucr.c: Likewise.
32089         * lib/unistr/u16-move.c: Likewise.
32090         * lib/unistr/u16-next.c: Likewise.
32091         * lib/unistr/u16-prev.c: Likewise.
32092         * lib/unistr/u16-set.c: Likewise.
32093         * lib/unistr/u16-startswith.c: Likewise.
32094         * lib/unistr/u16-stpcpy.c: Likewise.
32095         * lib/unistr/u16-stpncpy.c: Likewise.
32096         * lib/unistr/u16-strcat.c: Likewise.
32097         * lib/unistr/u16-strchr.c: Likewise.
32098         * lib/unistr/u16-strcmp.c: Likewise.
32099         * lib/unistr/u16-strcpy.c: Likewise.
32100         * lib/unistr/u16-strcspn.c: Likewise.
32101         * lib/unistr/u16-strdup.c: Likewise.
32102         * lib/unistr/u16-strlen.c: Likewise.
32103         * lib/unistr/u16-strmblen.c: Likewise.
32104         * lib/unistr/u16-strmbtouc.c: Likewise.
32105         * lib/unistr/u16-strncat.c: Likewise.
32106         * lib/unistr/u16-strncmp.c: Likewise.
32107         * lib/unistr/u16-strncpy.c: Likewise.
32108         * lib/unistr/u16-strnlen.c: Likewise.
32109         * lib/unistr/u16-strpbrk.c: Likewise.
32110         * lib/unistr/u16-strrchr.c: Likewise.
32111         * lib/unistr/u16-strspn.c: Likewise.
32112         * lib/unistr/u16-strstr.c: Likewise.
32113         * lib/unistr/u16-strtok.c: Likewise.
32114         * lib/unistr/u16-to-u32.c: Likewise.
32115         * lib/unistr/u16-to-u8.c: Likewise.
32116         * lib/unistr/u16-uctomb-aux.c: Likewise.
32117         * lib/unistr/u16-uctomb.c: Likewise.
32118         * lib/unistr/u32-check.c: Likewise.
32119         * lib/unistr/u32-chr.c: Likewise.
32120         * lib/unistr/u32-cmp.c: Likewise.
32121         * lib/unistr/u32-cpy-alloc.c: Likewise.
32122         * lib/unistr/u32-cpy.c: Likewise.
32123         * lib/unistr/u32-endswith.c: Likewise.
32124         * lib/unistr/u32-mblen.c: Likewise.
32125         * lib/unistr/u32-mbsnlen.c: Likewise.
32126         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32127         * lib/unistr/u32-mbtouc.c: Likewise.
32128         * lib/unistr/u32-mbtoucr.c: Likewise.
32129         * lib/unistr/u32-move.c: Likewise.
32130         * lib/unistr/u32-next.c: Likewise.
32131         * lib/unistr/u32-prev.c: Likewise.
32132         * lib/unistr/u32-set.c: Likewise.
32133         * lib/unistr/u32-startswith.c: Likewise.
32134         * lib/unistr/u32-stpcpy.c: Likewise.
32135         * lib/unistr/u32-stpncpy.c: Likewise.
32136         * lib/unistr/u32-strcat.c: Likewise.
32137         * lib/unistr/u32-strchr.c: Likewise.
32138         * lib/unistr/u32-strcmp.c: Likewise.
32139         * lib/unistr/u32-strcpy.c: Likewise.
32140         * lib/unistr/u32-strcspn.c: Likewise.
32141         * lib/unistr/u32-strdup.c: Likewise.
32142         * lib/unistr/u32-strlen.c: Likewise.
32143         * lib/unistr/u32-strmblen.c: Likewise.
32144         * lib/unistr/u32-strmbtouc.c: Likewise.
32145         * lib/unistr/u32-strncat.c: Likewise.
32146         * lib/unistr/u32-strncmp.c: Likewise.
32147         * lib/unistr/u32-strncpy.c: Likewise.
32148         * lib/unistr/u32-strnlen.c: Likewise.
32149         * lib/unistr/u32-strpbrk.c: Likewise.
32150         * lib/unistr/u32-strrchr.c: Likewise.
32151         * lib/unistr/u32-strspn.c: Likewise.
32152         * lib/unistr/u32-strstr.c: Likewise.
32153         * lib/unistr/u32-strtok.c: Likewise.
32154         * lib/unistr/u32-to-u16.c: Likewise.
32155         * lib/unistr/u32-to-u8.c: Likewise.
32156         * lib/unistr/u32-uctomb.c: Likewise.
32157         * lib/unistr/u8-check.c: Likewise.
32158         * lib/unistr/u8-chr.c: Likewise.
32159         * lib/unistr/u8-cmp.c: Likewise.
32160         * lib/unistr/u8-cpy-alloc.c: Likewise.
32161         * lib/unistr/u8-cpy.c: Likewise.
32162         * lib/unistr/u8-endswith.c: Likewise.
32163         * lib/unistr/u8-mblen.c: Likewise.
32164         * lib/unistr/u8-mbsnlen.c: Likewise.
32165         * lib/unistr/u8-mbtouc-aux.c: Likewise.
32166         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32167         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32168         * lib/unistr/u8-mbtouc.c: Likewise.
32169         * lib/unistr/u8-mbtoucr.c: Likewise.
32170         * lib/unistr/u8-move.c: Likewise.
32171         * lib/unistr/u8-next.c: Likewise.
32172         * lib/unistr/u8-prev.c: Likewise.
32173         * lib/unistr/u8-set.c: Likewise.
32174         * lib/unistr/u8-startswith.c: Likewise.
32175         * lib/unistr/u8-stpcpy.c: Likewise.
32176         * lib/unistr/u8-stpncpy.c: Likewise.
32177         * lib/unistr/u8-strcat.c: Likewise.
32178         * lib/unistr/u8-strchr.c: Likewise.
32179         * lib/unistr/u8-strcmp.c: Likewise.
32180         * lib/unistr/u8-strcpy.c: Likewise.
32181         * lib/unistr/u8-strcspn.c: Likewise.
32182         * lib/unistr/u8-strdup.c: Likewise.
32183         * lib/unistr/u8-strlen.c: Likewise.
32184         * lib/unistr/u8-strmblen.c: Likewise.
32185         * lib/unistr/u8-strmbtouc.c: Likewise.
32186         * lib/unistr/u8-strncat.c: Likewise.
32187         * lib/unistr/u8-strncmp.c: Likewise.
32188         * lib/unistr/u8-strncpy.c: Likewise.
32189         * lib/unistr/u8-strnlen.c: Likewise.
32190         * lib/unistr/u8-strpbrk.c: Likewise.
32191         * lib/unistr/u8-strrchr.c: Likewise.
32192         * lib/unistr/u8-strspn.c: Likewise.
32193         * lib/unistr/u8-strstr.c: Likewise.
32194         * lib/unistr/u8-strtok.c: Likewise.
32195         * lib/unistr/u8-to-u16.c: Likewise.
32196         * lib/unistr/u8-to-u32.c: Likewise.
32197         * lib/unistr/u8-uctomb-aux.c: Likewise.
32198         * lib/unistr/u8-uctomb.c: Likewise.
32199         * lib/unitypes.h: Likewise.
32200         * lib/uniwidth.h: Likewise.
32201         * lib/uniwidth/cjk.h: Likewise.
32202         * lib/uniwidth/u16-strwidth.c: Likewise.
32203         * lib/uniwidth/u16-width.c: Likewise.
32204         * lib/uniwidth/u32-strwidth.c: Likewise.
32205         * lib/uniwidth/u32-width.c: Likewise.
32206         * lib/uniwidth/u8-strwidth.c: Likewise.
32207         * lib/uniwidth/u8-width.c: Likewise.
32208         * lib/uniwidth/width.c: Likewise.
32209
32210 2007-10-07  Bruno Haible  <bruno@clisp.org>
32211
32212         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32213         The file is still under LGPL (see modules/inttypes).
32214
32215 2007-10-06  Bruno Haible  <bruno@clisp.org>
32216
32217         * modules/trunc (Dependencies): Add 'extensions'.
32218         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32219         Reported by Ben Pfaff <blp@gnu.org>.
32220
32221 2007-10-06  Bruno Haible  <bruno@clisp.org>
32222
32223         * modules/freopen-tests: New file.
32224         * tests/test-freopen.c: New file.
32225
32226         * modules/fopen-tests: New file.
32227         * tests/test-fopen.c: New file.
32228
32229         * modules/fopen: New file.
32230         * lib/fopen.c: New file.
32231         * m4/fopen.m4: New file.
32232         * modules/freopen: New file.
32233         * lib/freopen.c: New file.
32234         * m4/freopen.m4: New file.
32235         * lib/stdio.in.h (fopen, freopen): New declarations.
32236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32237         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32238         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32239         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32240         * doc/functions/fopen.texi: Mention the 'fopen' module.
32241         * doc/functions/freopen.texi: Mention the 'freopen' module.
32242
32243 2007-10-06  Bruno Haible  <bruno@clisp.org>
32244
32245         * modules/open-tests: New file.
32246         * tests/test-open.c: New file.
32247
32248         * modules/open: New file.
32249         * lib/open.c: New file.
32250         * m4/open.m4: New file.
32251         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32252         lib/open.c does.
32253         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32254         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32255         macros.
32256         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32257         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32258         REPLACE_OPEN.
32259         * doc/functions/open.texi: Mention the 'open' module.
32260
32261 2007-10-04  Bruno Haible  <bruno@clisp.org>
32262
32263         * modules/ceill-tests: New file.
32264         * tests/test-ceill.c: New file.
32265
32266         * modules/ceill: New file.
32267         * lib/ceill.c: Replace entire file.
32268         * m4/ceill.m4: New file.
32269         * lib/math.in.h (ceill): Replace declaration.
32270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32271         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32272         * doc/functions/ceill.texi: Mention the 'ceill' module.
32273         * modules/mathl (Files): Remove lib/ceill.c.
32274         (Depends-on): Add ceill.
32275
32276 2007-10-04  Bruno Haible  <bruno@clisp.org>
32277
32278         * modules/ceilf-tests: New file.
32279         * tests/test-ceilf.c: New file.
32280
32281         * modules/ceilf: New file.
32282         * lib/ceil.c: New file.
32283         * lib/ceilf.c: New file.
32284         * m4/ceilf.m4: New file.
32285         * lib/math.in.h (ceilf): New declaration.
32286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32287         HAVE_DECL_CEILF.
32288         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32289         HAVE_DECL_CEILF.
32290         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32291
32292 2007-10-04  Bruno Haible  <bruno@clisp.org>
32293
32294         * modules/floorl-tests: New file.
32295         * tests/test-floorl.c: New file.
32296
32297         * modules/floorl: New file.
32298         * lib/floorl.c: Replace entire file.
32299         * m4/floorl.m4: New file.
32300         * lib/math.in.h (floorl): Replace declaration.
32301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32302         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32303         * doc/functions/floorl.texi: Mention the 'floorl' module.
32304         * modules/mathl (Files): Remove lib/floorl.c.
32305         (Depends-on): Add floorl.
32306
32307 2007-10-04  Bruno Haible  <bruno@clisp.org>
32308
32309         * modules/floorf-tests: New file.
32310         * tests/test-floorf.c: New file.
32311
32312         * modules/floorf: New file.
32313         * lib/floor.c: New file.
32314         * lib/floorf.c: New file.
32315         * m4/floorf.m4: New file.
32316         * lib/math.in.h (floorf): New declaration.
32317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32318         HAVE_DECL_FLOORF.
32319         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32320         HAVE_DECL_FLOORF.
32321         * doc/functions/floorf.texi: Mention the 'floorf' module.
32322
32323 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32324             Bruno Haible  <bruno@clisp.org>
32325
32326         Advertise for the Git server instead of the CVS server.
32327         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32328         repository instead of the CVS one.
32329         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32330         about all VCS systems generically.
32331         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32332
32333 2007-10-04  Bruno Haible  <bruno@clisp.org>
32334
32335         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32336         means.
32337         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32338
32339 2007-10-04  Bruno Haible  <bruno@clisp.org>
32340
32341         * modules/truncl-tests: New file.
32342         * tests/test-truncl.c: New file.
32343
32344         * modules/truncl: New file.
32345         * lib/truncl.c: New file.
32346         * m4/truncl.m4: New file.
32347         * lib/math.in.h (truncl): New declaration.
32348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32349         HAVE_DECL_TRUNCL.
32350         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32351         HAVE_DECL_TRUNCL.
32352         * doc/functions/truncl.texi: Mention the 'truncl' module.
32353
32354 2007-10-04  Bruno Haible  <bruno@clisp.org>
32355
32356         * modules/truncf-tests: New file.
32357         * tests/test-truncf.c: New file.
32358
32359         * modules/truncf: New file.
32360         * lib/trunc.c: Make paramerizable through USE_* macros.
32361         * lib/truncf.c: New file.
32362         * m4/truncf.m4: New file.
32363         * lib/math.in.h (truncf): New declaration.
32364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32365         HAVE_DECL_TRUNCF.
32366         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32367         HAVE_DECL_TRUNCF.
32368         * doc/functions/truncf.texi: Mention the 'truncf' module.
32369
32370 2007-10-03  Bruno Haible  <bruno@clisp.org>
32371
32372         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32373         augmentation also for tests modules.
32374         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32375         * modules/atexit-tests (Makefile.am): Likewise.
32376         * modules/binary-io-tests (Makefile.am): Likewise.
32377         * modules/c-strcase-tests (Makefile.am): Likewise.
32378         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32379         * modules/canonicalize-tests (Makefile.am): Likewise.
32380         * modules/closein-tests (Makefile.am): Likewise.
32381         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32382         * modules/freadahead-tests (Makefile.am): Likewise.
32383         * modules/fseek-tests (Makefile.am): Likewise.
32384         * modules/fseeko-tests (Makefile.am): Likewise.
32385         * modules/ftell-tests (Makefile.am): Likewise.
32386         * modules/ftello-tests (Makefile.am): Likewise.
32387         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32388         * modules/isnanl-tests (Makefile.am): Likewise.
32389         * modules/lseek-tests (Makefile.am): Likewise.
32390         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32391         * modules/mbscasestr-tests (Makefile.am): Likewise.
32392         * modules/mbschr-tests (Makefile.am): Likewise.
32393         * modules/mbscspn-tests (Makefile.am): Likewise.
32394         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32395         * modules/mbspbrk-tests (Makefile.am): Likewise.
32396         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32397         * modules/mbsrchr-tests (Makefile.am): Likewise.
32398         * modules/mbsspn-tests (Makefile.am): Likewise.
32399         * modules/mbsstr-tests (Makefile.am): Likewise.
32400         * modules/printf-posix-tests (Makefile.am): Likewise.
32401         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32402         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32403         * modules/tsearch-tests (Makefile.am): Likewise.
32404         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32405         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32406         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32407         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32408         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32409         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32410         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32411         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32412         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32413         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32414         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32415         * modules/xstrtol-tests (Makefile.am): Likewise.
32416         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32417         * modules/yesno-tests (Makefile.am): Likewise.
32418
32419 2007-10-03  Bruno Haible  <bruno@clisp.org>
32420
32421         * modules/trunc-tests: New file.
32422         * tests/test-trunc.c: New file.
32423
32424         * modules/trunc: New file.
32425         * lib/trunc.c: New file.
32426         * m4/trunc.m4: New file.
32427         * lib/math.in.h (trunc): New declaration.
32428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32429         HAVE_DECL_TRUNC.
32430         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32431         HAVE_DECL_TRUNC.
32432         * doc/functions/trunc.texi: Mention the 'trunc' module.
32433
32434 2007-10-03  Bruno Haible  <bruno@clisp.org>
32435
32436         * tests/test-fpending.c: New file, mostly copied
32437         from coreutils/lib/t-fpending.c.
32438         * modules/fpending-tests: New file.
32439
32440 2007-10-03  Bruno Haible  <bruno@clisp.org>
32441
32442         Port the stdio extensions to QNX (untested).
32443         * lib/fseterr.c (fseterr): Add support for QNX.
32444         * lib/fbufmode.c (fbufmode): Likewise.
32445         * lib/freadable.c (freadable): Likewise.
32446         * lib/fwritable.c (fwritable): Likewise.
32447         * lib/freading.c (freading): Likewise.
32448         * lib/fwriting.c (fwriting): Likewise.
32449         * lib/freadahead.c (freadahed): Likewise.
32450         * lib/fpurge.c (fpurge): Likewise.
32451         * lib/fseeko.c (rpl_fseeko): Likewise.
32452
32453 2007-10-03  Bruno Haible  <bruno@clisp.org>
32454             Jim Meyering  <jim@meyering.net>
32455             Eric Blake  <ebb9@byu.net>
32456
32457         * doc/relocatable.texi: Use @command instead of @program.
32458
32459 2007-10-02  Jim Meyering  <jim@meyering.net>
32460
32461         Perform one more "_.h" -> ".in.h" substitution.
32462         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32463         instead of unistd_.h here, too.
32464
32465 2007-10-01  Bruno Haible  <bruno@clisp.org>
32466
32467         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32468         Needed for the alloca-opt module.
32469
32470 2007-09-30  Bruno Haible  <bruno@clisp.org>
32471
32472         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32473         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32474         alloca_.h.
32475         * lib/argz.in.h: Renamed from lib/argz_.h.
32476         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32477         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32478         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32479         byteswap_.h.
32480         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32481         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32482         dirent_.h.
32483         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32484         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32485         fcntl_.h.
32486         * lib/float.in.h: Renamed from lib/float_.h.
32487         * modules/float (Files, Makefile.am): Use float.in.h instead of
32488         float_.h.
32489         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32490         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32491         fnmatch_.h.
32492         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32493         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32494         getopt_.h.
32495         * lib/glob.in.h: Renamed from lib/glob_.h.
32496         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32497         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32498         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32499         iconv_.h.
32500         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32501         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32502         inttypes_.h.
32503         * lib/locale.in.h: Renamed from lib/locale_.h.
32504         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32505         locale_.h.
32506         * lib/math.in.h: Renamed from lib/math_.h.
32507         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32508         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32509         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32510         of netinet_in_.h. Add dependency.
32511         * lib/poll.in.h: Renamed from lib/poll_.h.
32512         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32513         * lib/search.in.h: Renamed from lib/search_.h.
32514         * modules/search (Files, Makefile.am): Use search.in.h instead of
32515         search_.h.
32516         * lib/signal.in.h: Renamed from lib/signal_.h.
32517         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32518         _signal.h.
32519         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32520         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32521         stdbool_.h.
32522         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32523         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32524         stdint_.h.
32525         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32526         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32527         stdio_.h.
32528         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32529         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32530         stdlib_.h.
32531         * lib/string.in.h: Renamed from lib/string_.h.
32532         * modules/string (Files, Makefile.am): Use string.in.h instead of
32533         string_.h.
32534         * doc/gnulib-tool.texi (Initial import): Update.
32535         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32536         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32537         of sys_select_.h. Add dependency.
32538         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32539         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32540         of sys_socket_.h.
32541         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32542         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32543         sys_stat_.h.
32544         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32545         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32546         sys_time_.h.
32547         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32548         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32549         sysexits_.h.
32550         * lib/time.in.h: Renamed from lib/time_.h.
32551         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32552         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32553         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32554         unistd_.h.
32555         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32556         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32557         wchar_.h.
32558         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32559         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32560         wctype_.h.
32561         * build-aux/bootstrap (slurp): Update.
32562         * lib/.cppi-disable: Update.
32563
32564 2007-09-30  Bruno Haible  <bruno@clisp.org>
32565
32566         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32567         Needed on BeOS.
32568
32569 2007-09-30  Bruno Haible  <bruno@clisp.org>
32570
32571         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32572
32573 2007-09-29  Bruno Haible  <bruno@clisp.org>
32574
32575         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32576
32577 2007-09-29  Bruno Haible  <bruno@clisp.org>
32578
32579         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32580         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32581         * build-aux/install-reloc: Compile also areadlink.c.
32582         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32583
32584 2007-09-29  Bruno Haible  <bruno@clisp.org>
32585
32586         * gnulib-tool (func_emit_initmacro_done): Indentation.
32587
32588 2007-09-29  Bruno Haible  <bruno@clisp.org>
32589
32590         * README: Add CVS checkout update instructions.
32591         Info from Bob Proulx <bob@proulx.com>.
32592
32593 2007-09-28  Eric Blake  <ebb9@byu.net>
32594
32595         Provide move-if-change.
32596         * build-aux/move-if-change: New file, based on best practice
32597         rather than any canonical upstream location.
32598
32599 2007-09-28  Jim Meyering  <jim@meyering.net>
32600
32601         Fix canonicalize loop-detection corner case.
32602         Do not attempt to stat the symlink values stored via seen_triple.
32603         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32604         on linux-2.6.18, (but not 2.6.22).
32605         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32606         triple_compare.  The former compares dev,ino,filename, while the latter
32607         would actually stat dirname(filename) when dev and ino were equal.
32608         * lib/hash-triple.c: Install <string.h>.
32609         (STREQ): Define.
32610         (triple_compare_ino_str): New function.
32611         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32612
32613 2007-09-28  Eric Blake  <ebb9@byu.net>
32614
32615         Enforce that AC_REPLACE_FUNCS files exist.
32616         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32617         override check for typos.
32618
32619         Fix test-closein on Solaris 10.
32620         * tests/test-closein.c (main): Don't assume stdin can be inherited
32621         closed on all systems.
32622         * tests/test-closein.sh: Likewise.
32623         Reported by Piotr Tarnowski.
32624
32625 2007-09-28  Jim Meyering  <jim@meyering.net>
32626
32627         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32628
32629 2007-09-27  Jim Meyering  <jim@meyering.net>
32630
32631         canonicalize: Avoid a false-positive cycle failure.
32632         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32633         Sort.  Remove cycle-check.
32634         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32635         not cycle-check.h.
32636         (seen_triple): New function.
32637         (canonicalize_filename_mode): Use it instead of cycle-check.
32638         * tests/test-canonicalize.c: Add a test for this bug.
32639         * tests/test-canonicalize.sh: Set up and run the test.
32640
32641         New module, file-set, from coreutils.
32642         * modules/file-set: Define it.
32643         * lib/file-set.c, lib/file-set.h: Implement.
32644
32645         New module, hash-triple, from coreutils.
32646         * modules/hash-triple: Define it.
32647         * lib/hash-triple.c, lib/hash-triple.h: Implement.
32648
32649 2007-09-25  Eric Blake  <ebb9@byu.net>
32650
32651         Fix strerror on Interix.
32652         * lib/string_.h (strerror): Declare replacement.
32653         * doc/functions/strerror.texi (strerror): Document the Interix
32654         shortcoming.
32655         * modules/string (Makefile.am): Support new hooks.
32656         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
32657         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
32658         gl_FUNC_STRERROR_SEPARATE.
32659         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
32660         * lib/strerror.c (rpl_strerror): Provide replacement.
32661         * modules/strerror (Depends-on): Add string.
32662         (configure.ac): Detect use of module.
32663         * tests/test-strerror.c: New file.
32664         * modules/strerror-tests: New test module.
32665         * modules/argp (Depends-on): Add strerror.
32666         * modules/error (Depends-on): Likewise.
32667         Reported by Martin Koeppe.
32668
32669 2007-09-24  Bruno Haible  <bruno@clisp.org>
32670
32671         * README: Update git instructions.
32672
32673 2007-09-24  Eric Blake  <ebb9@byu.net>
32674
32675         Revert fpending breakage from 2007-09-08.
32676         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
32677         __fpending.c.
32678
32679 2007-09-24  Jim Meyering  <jim@meyering.net>
32680
32681         filenamecat.c: Add a test.
32682         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
32683         showing how the function works when DIR is the empty string.
32684
32685 2007-09-21  Simon Josefsson  <simon@josefsson.org>
32686
32687         * tests/test-canonicalize.sh: Turn on executable bit.
32688
32689 2007-09-19  Eric Blake  <ebb9@byu.net>
32690
32691         * README: Update CVS instructions.
32692
32693 2007-09-18  Bruno Haible  <bruno@clisp.org>
32694
32695         * modules/areadlink: New file.
32696         * lib/areadlink.h (areadlink): New declaration.
32697         * lib/areadlink.c: New file, based on lib/xreadlink.c.
32698
32699 2007-09-17  Jim Meyering  <jim@meyering.net>
32700
32701         * lib/savewd.c (ESTALE) [!defined]: Define.
32702         Reported to be required on Interix by Martin Koeppe.
32703
32704 2007-09-17  Bruno Haible  <bruno@clisp.org>
32705
32706         * gnulib-tool (func_version): Use $version.
32707
32708 2007-09-16  Bruno Haible  <bruno@clisp.org>
32709
32710         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
32711         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
32712         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
32713         Reported by Greg Schafer <gschafer@zip.com.au>.
32714
32715 2007-09-15  Bruno Haible  <bruno@clisp.org>
32716
32717         * gnulib-tool (sed): Try a little harder to make bash understand the
32718         alias.
32719         Reported by Bruce Korb <bruce.korb@gmail.com>.
32720
32721 2007-09-13  Eric Blake  <ebb9@byu.net>
32722
32723         * ChangeLog: Remove conflict markers.
32724
32725 2007-09-13  Simon Josefsson  <simon@josefsson.org>
32726
32727         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
32728         Reported by Bruno Haible <bruno@clisp.org>.
32729
32730 2007-09-12  Bruno Haible  <bruno@clisp.org>
32731
32732         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
32733         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
32734         is not defined.
32735
32736 2007-09-12  Eric Blake  <ebb9@byu.net>
32737
32738         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
32739         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
32740         Autoconf definition.
32741         * modules/euidaccess (Depends-on): Add extensions, for
32742         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
32743         * modules/fnmatch (Depends-on): Likewise.
32744         * modules/getaddrinfo (Depends-on): Likewise.
32745         * modules/getdelim (Depends-on): Likewise.
32746         * modules/getline (Depends-on): Likewise.
32747         * modules/getsubopt (Depends-on): Likewise.
32748         * modules/gettext (Depends-on): Likewise.
32749         * modules/group-member (Depends-on): Likewise.
32750         * modules/mbchar (Depends-on): Likewise.
32751         * modules/memmem (Depends-on): Likewise.
32752         * modules/mempcpy (Depends-on): Likewise.
32753         * modules/memrchr (Depends-on): Likewise.
32754         * modules/pagealign_alloc (Depends-on): Likewise.
32755         * modules/readutmp (Depends-on): Likewise.
32756         * modules/stpcpy (Depends-on): Likewise.
32757         * modules/stpncpy (Depends-on): Likewise.
32758         * modules/strchrnul (Depends-on): Likewise.
32759         * modules/strndup (Depends-on): Likewise.
32760         * modules/strsep (Depends-on): Likewise.
32761         * modules/strverscmp (Depends-on): Likewise.
32762         * modules/vasprintf (Depends-on): Likewise.
32763         * modules/wcwidth (Depends-on): Likewise.
32764         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
32765         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
32766         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
32767         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
32768         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32769         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32770         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
32771         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
32772         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
32773         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32774         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32775         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
32776         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
32777         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
32778         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
32779         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32780         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32781         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
32782         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32783         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
32784         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
32785         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
32786         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
32787         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
32788         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
32789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32790         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
32791         so that lock.m4 can be used in gettext without extensions module.
32792
32793 2007-09-11  Bruno Haible  <bruno@clisp.org>
32794
32795         * m4/isc-posix.m4: Remove file.
32796         Suggested by Eric Blake.
32797
32798 2007-09-11  Eric Blake  <ebb9@byu.net>
32799
32800         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
32801
32802 2007-09-10  Bruno Haible  <bruno@clisp.org>
32803
32804         * posix-modules: Fix typo in error message.
32805         Reported by Matt <mkraai@beckman.com>.
32806
32807 2007-09-09  Bruno Haible  <bruno@clisp.org>
32808
32809         * doc/functions/getdelim.texi: Update list of platforms lacking the
32810         function.
32811         * doc/functions/getline.texi: Likewise.
32812
32813 2007-09-09  Jim Meyering  <jim@meyering.net>
32814
32815         * lib/hash.c (hash_initialize): Detect calloc failure.
32816         Reported by Bruno Haible.
32817
32818 2007-09-09  Bruno Haible  <bruno@clisp.org>
32819
32820         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
32821         malloc or realloc fails.
32822
32823 2007-09-09  Bruno Haible  <bruno@clisp.org>
32824
32825         * modules/getcwd (Depends-on): Add malloc-posix.
32826         * modules/glob (Depends-on): Likewise.
32827         * modules/putenv (Depends-on): Likewise.
32828         * modules/strdup (Depends-on): Likewise.
32829         * modules/getdelim (Depends-on): Add realloc-posix.
32830         * modules/read-file (Depends-on): Likewise.
32831
32832 2007-09-09  Bruno Haible  <bruno@clisp.org>
32833
32834         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
32835         (gl_FUNC_MALLOC_POSIX): Require it.
32836         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
32837         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
32838         * modules/realloc (Files): Add m4/malloc.m4.
32839         * modules/calloc (Files): Likewise.
32840
32841 2007-09-09  Bruno Haible  <bruno@clisp.org>
32842
32843         * modules/malloc-posix: New file.
32844         * modules/malloc (Depends-on): Add malloc-posix.
32845         * lib/malloc.c: Include errno.h.
32846         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
32847         and a POSIX-compatible malloc into a single function. Set ENOMEM
32848         when returning NULL.
32849         * m4/malloc.m4: New file.
32850         * doc/functions/malloc.texi: Mention the malloc-posix module.
32851         * lib/stdlib_.h (malloc): New declaration.
32852         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32853         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
32854         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
32855         and HAVE_MALLOC_POSIX.
32856
32857 2007-09-09  Bruno Haible  <bruno@clisp.org>
32858
32859         * modules/realloc-posix: New file.
32860         * modules/realloc (Depends-on): Add realloc-posix.
32861         * lib/realloc.c: Include errno.h.
32862         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
32863         and a POSIX-compatible realloc into a single function. Set ENOMEM
32864         when returning NULL.
32865         * m4/realloc.m4: New file.
32866         * doc/functions/realloc.texi: Mention the realloc-posix module.
32867         * lib/stdlib_.h (realloc): New declaration.
32868         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32869         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
32870         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
32871         and HAVE_REALLOC_POSIX.
32872
32873 2007-09-09  Bruno Haible  <bruno@clisp.org>
32874
32875         * modules/calloc-posix: New file.
32876         * modules/calloc (Depends-on): Add calloc-posix.
32877         * lib/calloc.c: Include errno.h.
32878         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
32879         and a POSIX-compatible calloc into a single function. Set ENOMEM
32880         when returning NULL.
32881         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
32882         * doc/functions/calloc.texi: Mention the calloc-posix module.
32883         * lib/stdlib_.h (calloc): New declaration.
32884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32885         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
32886         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
32887         and HAVE_CALLOC_POSIX.
32888
32889 2007-09-09  Bruno Haible  <bruno@clisp.org>
32890
32891         Allow for modules to show an arbitrary notice.
32892         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
32893         * gnulib-tool: New option --extract-notice.
32894         (func_usage): Document it.
32895         (sed_extract_prog): Update.
32896         (func_get_notice): New function.
32897         (func_modules_notice): New function.
32898         (func_import, func_create_testdir): Invoke it.
32899         Suggested by Jim Meyering.
32900
32901 2007-09-09  Bruno Haible  <bruno@clisp.org>
32902
32903         * gnulib-tool: New options --verbose, --quiet.
32904         (func_usage): Document them.
32905         (verbose): New variable.
32906         (func_execute_command): New function.
32907         (func_import): Don't show the module list and the file list if
32908         $verbose < 0.
32909         (func_create_testdir): Likewise. Use func_execute_command.
32910         (func_create_megatestdir): Use func_execute_command.
32911
32912 2007-09-08  Bruno Haible  <bruno@clisp.org>
32913
32914         * gnulib-tool (func_import): Prefer rsync over wget when available,
32915         for fetching the PO files.
32916
32917 2007-09-08  Bruno Haible  <bruno@clisp.org>
32918
32919         * posix-modules: New file. Portions copied from gnulib-tool.
32920         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
32921
32922 2007-09-08  Jim Meyering  <jim@meyering.net>
32923
32924         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
32925         * lib/fpending.h: Rename from __fpending.h.
32926         * lib/fpending.c: Rename from __fpending.c.
32927         Include "fpending.h", not "__fpending.h".
32928         * lib/__fpending.h, lib/__fpending.c: Remove files.
32929         * modules/fpending (Files): Reflect new file names.
32930         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
32931
32932 2007-09-08  Bruno Haible  <bruno@clisp.org>
32933
32934         * m4/inttypes-h.m4: Remove stub file.
32935
32936 2007-09-07  Simon Josefsson  <simon@josefsson.org>
32937
32938         * doc/headers/stdint.texi: Discuss #include_next issue.
32939
32940 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
32941
32942         * build-aux/bootstrap: Remove obsolete comment about wget --help.
32943
32944 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32945
32946         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
32947         in variable name.
32948
32949 2007-09-03  Jim Meyering  <jim@meyering.net>
32950
32951         New module: git-version-gen.
32952         * modules/git-version-gen: New file.
32953
32954         Import changes from coreutils for bootstrap script.
32955
32956         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
32957
32958         bootstrap: uses rsync to download the .po files
32959         * build-aux/bootstrap (po_download_command_format): New global.
32960         (download_po_files): Use rsync.
32961         (update_po_files): Don't remove .po files after download,
32962         so future rsync runs can take advantage of the copies.
32963
32964         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
32965
32966         Solve the unnecessary-.po-file-regeneration problem once and for all.
32967         * build-aux/bootstrap (download_po_files): New function, renamed from
32968         get_translations.  Now, downloads, but doesn't update LINGUAS.
32969         (update_po_files): New function.
32970
32971         bootstrap: Ignore more.
32972         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
32973         uniwidth to e.g., lib/.gitignore.
32974         (slurp): Handle the sys_stat_.h -> sys mapping, too.
32975
32976         * build-aux/bootstrap: New setting: vc_ignore.
32977         (insert_sorted_if_absent): Create $file if absent.
32978         Adapt to new, possibly empty, list: $vc_ignore.
32979
32980         bootstrap: generate more ignorable names
32981         * build-aux/bootstrap (slurp): When generating ignorable names,
32982         also map .sin to .sed, .gperf to .c, and .y to .c.
32983
32984 2007-09-03  Jim Meyering  <jim@meyering.net>
32985
32986         * build-aux/git-version-gen: New file, from coreutils.  For details, see
32987         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
32988
32989 2007-09-02  Bruno Haible  <bruno@clisp.org>
32990
32991         Fix mis-recognition of 'mcs' on QNX 6.
32992         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
32993         output contains the string "Mono".
32994         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
32995         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
32996
32997 2007-09-01  Bruno Haible  <bruno@clisp.org>
32998
32999         Fix collision between uniwidth/* and linebreak modules.
33000         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33001         u32_width): Remove declarations.
33002         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33003         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33004         streq3, streq2, streq1, streq0): Remove functions.
33005         (STREQ): Remove macro.
33006         (is_cjk_encoding): Remove function.
33007         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33008         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33009         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33010         * NEWS: Document the change.
33011
33012 2007-09-01  Bruno Haible  <bruno@clisp.org>
33013
33014         * lib/streq.h: Add double-inclusion guard.
33015
33016 2007-09-01  Karl Berry  <karl@gnu.org>
33017
33018         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33019
33020 2007-08-28  Jim Meyering  <jim@meyering.net>
33021
33022         Rename mreadlink_with_size to areadlink_with_size.
33023         * NEWS: Document the change.
33024         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33025         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33026         * lib/mreadlink.h: Rename this to...
33027         * lib/areadlink.h: ...this.
33028         * modules/mreadlink-with-size: Rename this to...
33029         * modules/areadlink-with-size: ...this.
33030         * lib/canonicalize.c: Reflect the renaming.
33031         * modules/canonicalize: Likewise.
33032
33033 2007-08-26  Bruno Haible  <bruno@clisp.org>
33034
33035         * gnulib-tool (func_import): When deciding which files to remove,
33036         consider also dangling symbolic links.
33037         Reported by Eric Blake.
33038
33039 2007-08-26  Bruno Haible  <bruno@clisp.org>
33040
33041         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33042
33043 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33044
33045         * lib/readline.c: Don't include getline.h, the prototype is now
33046         found in stdio.h.
33047
33048 2007-08-23  Jim Meyering  <jim@meyering.net>
33049
33050         Getdelim touchup.
33051         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33052         around the funlockfile call, since funlockfile never sets errno.
33053         Don't set errno upon failed realloc.
33054
33055 2007-08-22  Eric Blake  <ebb9@byu.net>
33056
33057         Getline touchups.
33058         * lib/getdelim.c (getdelim): Revert regression that required *n to
33059         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33060         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33061         getdelim, rather than whether implementation is missing.
33062         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33063         * lib/stdio_.h (getline): Also declare if replacement is
33064         required.
33065         * doc/functions/getdelim.texi: New file.
33066         * doc/functions/getline.texi: Likewise.
33067         * doc/gnulib.texi (Function Substitutes): Add new files.
33068         Reported by Bruno Haible.
33069
33070 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33071
33072         * users.txt: Add Guile.
33073
33074 2007-08-22  Eric Blake  <ebb9@byu.net>
33075
33076         * tests/test-getdelim.c (main): Use remove, not unlink.
33077         * tests/test-getline.c (main): Likewise.
33078
33079         Move getline and getdelim into stdio.h, per POSIX 200x.
33080         * modules/getline (Files): Remove getline.h.
33081         (Depends-on): Add stdio.
33082         (configure.ac): Add module indicator.
33083         * modules/getdelim (Files): Remove getdelim.h.
33084         (Depends-on): Add stdio.
33085         (configure.ac): Add module indicator.
33086         * modules/stdio (Makefile.am): Work with new indicators.
33087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33088         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33089         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33090         * lib/getdelim.h: Delete.
33091         * lib/getline.h: Delete.
33092         * lib/stdio_.h (getdelim, getline): Declare.
33093         * modules/getdelim-tests: New module.
33094         * modules/getline-tests: Likewise.
33095         * tests/test-getdelim.c: New file.
33096         * tests/test-getline.c: Likewise.
33097         * NEWS: Document the change.
33098         * lib/getline.c: Update choice of header.
33099         * lib/csharpcomp.c: Likewise.
33100         * lib/getpass.c: Likewise.
33101         * lib/javacomp.c: Likewise.
33102         * lib/javaversion.c: Likewise.
33103         * lib/yesno.c: Likewise.
33104         * lib/getdelim.c: Likewise.
33105         (getdelim): Set errno on failure, and avoid memory leak.
33106
33107 2007-08-19  Bruno Haible  <bruno@clisp.org>
33108
33109         * modules/closein (Depends-on): Add freadahead.
33110         * lib/closein.c: Include freadahead.h.
33111         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33112         is zero.
33113
33114 2007-08-19  Bruno Haible  <bruno@clisp.org>
33115
33116         * modules/freadahead-tests: New file.
33117         * tests/test-freadahead.sh: New file.
33118         * tests/test-freadahead.c: New file.
33119
33120         * modules/freadahead: New file.
33121         * lib/freadahead.h: New file.
33122         * lib/freadahead.c: New file.
33123         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33124         fbufmode, fpurge, freadable, fwritable.
33125
33126 2007-08-19  Eric Blake  <ebb9@byu.net>
33127
33128         Test yesno in combination with closein.
33129         * lib/yesno.c (yesno): Document use of stdin.
33130         * modules/yesno-tests (Files): New module.
33131         * tests/test-yesno.c (main): New file.
33132         * tests/test-yesno.sh: Likewise.
33133
33134 2007-08-19  Bruno Haible  <bruno@clisp.org>
33135
33136         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33137         * lib/fseeko.c (rpl_fseeko): Likewise.
33138         * lib/fseterr.c (fseterr): Likewise.
33139
33140 2007-08-19  Bruno Haible  <bruno@clisp.org>
33141
33142         * tests/test-lseek.c (main): Disable a test for BeOS.
33143         * doc/functions/lseek.texi: Document the BeOS bug.
33144
33145 2007-08-19  Bruno Haible  <bruno@clisp.org>
33146             Eric Blake  <ebb9@byu.net>
33147
33148         * lib/lseek.c: Include <sys/stat.h>.
33149         (rpl_lseek): Add workaround code also for Unix platforms.
33150         Needed for BeOS.
33151         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33152         * doc/functions/lseek.texi: Document BeOS definiency.
33153
33154 2007-08-18  Bruno Haible  <bruno@clisp.org>
33155
33156         * modules/fstrcmp-tests: New file.
33157         * tests/test-fstrcmp.c: New file.
33158
33159 2007-08-18  Bruno Haible  <bruno@clisp.org>
33160
33161         * modules/fstrcmp: New file, from GNU gettext with modifications.
33162         * lib/fstrcmp.h: New file, from GNU gettext.
33163         * lib/fstrcmp.c: New file, from GNU gettext.
33164         * MODULES.html.sh (String handling): Add fstrcmp.
33165
33166 2007-08-18  Bruno Haible  <bruno@clisp.org>
33167
33168         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
33169         'bool'.
33170         (diag, compareseq): Remove const from the ctxt argument.
33171         (USE_HEURISTIC): Undefine at the end.
33172
33173 2007-08-18  Jim Meyering  <jim@meyering.net>
33174
33175         New file: lib/idcache.h
33176         * NEWS: Mention the addition.
33177         * modules/idcache (Files): Add lib/idcache.h
33178         * lib/idcache.c: Include "idcache.h".
33179         Don't include <sys/types.h>.
33180         Add a FIXME comment.
33181         Move file-scoped "static" declarations to the top.
33182         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
33183
33184 2007-08-17  Bruno Haible  <bruno@clisp.org>
33185         and Paul Eggert  <eggert@cs.ucla.edu>
33186
33187         * MODULES.html.sh: Add diffseq.
33188         * modules/diffseq: New file.
33189         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33190         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33191
33192 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33193
33194         Import changes from coreutils for bootstrap script.
33195
33196         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33197
33198         * build-aux/bootstrap (slurp): Work even in environments where
33199         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33200         current code does not slurp files whose names start with ".", and
33201         this looks like it might be a troublesome area.
33202
33203         2007-07-11  Jim Meyering  <jim@meyering.net>
33204
33205         If there's a GPL vN copyright comment, require that N == 3.
33206
33207         2007-07-08  Jim Meyering  <jim@meyering.net>
33208
33209         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33210         * build-aux/bootstrap (mam_template): Move definition out of loop.
33211
33212         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33213
33214         * build-aux/bootstrap (symlink_to_dir): Rename function from
33215         symlink_to_gnulib.  Add a directory parameter.  Update all
33216         callers.
33217         (cp_mark_as_generated): Also check for -- and link to -- files in
33218         gl/.
33219
33220         2007-07-08  Jim Meyering  <jim@meyering.net>
33221
33222         Adapt to deeper hierarchy in gnulib.
33223         * build-aux/bootstrap (symlink_to_dir): If the destination
33224         directory doesn't exist, create it. This is required at least for
33225         "lib/uniwidth/cjk.h".
33226
33227         2007-05-15  Jim Meyering  <jim@meyering.net>
33228
33229         * build-aux/bootstrap: Now that generated Makefile.am files
33230         are no longer under version control, they must be created at
33231         bootstrap time.
33232
33233 2007-08-14  Ben Pfaff  <blp@gnu.org>
33234
33235         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33236
33237 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33238
33239         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33240         given the changes below.
33241         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33242         even on hosts that have padding bits beyond the supported 64.
33243
33244 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33245
33246         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33247         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33248         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33249         depends on it.
33250         (xstrtol_error): Remove.
33251         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33252         but with a different signature.
33253         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33254         * lib/xstrtol-error.c: Include exitfail.h.
33255         (xstrtol_fatal): New function, with a different signature from the
33256         old xstrtol_error, so that the caller need not worry about passing
33257         in an exit status, or about storage management of the option argument.
33258         (xstrtol_error): Now a static function.  Redo signature to
33259         implement xstrtol_fatal.  Output the correct number of hyphens in
33260         front of the option so that the caller need not worry about
33261         storage management.
33262         (N_): New macro.
33263         (_): Remove; not used now.
33264         * modules/xstrtol: Depend on getopt.
33265         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33266         of old STRTOL_FATAL_ERROR macro.
33267         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33268         of test program.
33269         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33270         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33271
33272 2007-08-08  Eric Blake  <ebb9@byu.net>
33273
33274         * lib/xstrtol-error.c: Add missing include.
33275
33276         Move xstrtol messages into gnulib domain, when --pobase is used.
33277         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33278         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33279         * modules/xstrtol (Files): Distribute new file.
33280         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33281         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33282         * tests/test-xstrtol.c: ...into new file.
33283         * tests/test-xstrtoul.c: Also test xstrtoul.
33284         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33285         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33286         * tests/test-xstrtol.sh: Drive the tests.
33287         * tests/test-xstrtoimax.sh: Likewise.
33288         * tests/test-xstrtoumax.sh: Likewise.
33289         * modules/xstrtol-tests: New module.
33290         * modules/xstrtoimax-tests: Likewise.
33291         * modules/xstrtoumax-tests: Likewise.
33292
33293 2007-08-08  Jim Meyering  <jim@meyering.net>
33294
33295         New function: mfile_name_concat.
33296         * lib/filenamecat.c (mfile_name_concat): New function, just like
33297         file_name_concat, but return NULL upon failure rather than exiting
33298         with a diagnostic.
33299         * lib/filenamecat.h: Declare it.
33300
33301 2007-08-07  Bruno Haible  <bruno@clisp.org>
33302
33303         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33304         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33305         warning from gcc.
33306         Reported by Eric Blake.
33307
33308 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33309
33310         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33311         * modules/crypto/arcfour (License): Likewise.
33312         * modules/crypto/des-tests (License): Likewise.
33313         * modules/crypto/gc-arctwo-tests (License): Likewise.
33314         * modules/crypto/gc-des-tests (License): Likewise.
33315         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33316         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33317         * modules/crypto/gc-md2-tests (License): Likewise.
33318         * modules/crypto/gc-md4-tests (License): Likewise.
33319         * modules/crypto/gc-md5-tests (License): Likewise.
33320         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33321         * modules/crypto/gc-rijndael-tests (License): Likewise.
33322         * modules/crypto/gc-sha1-tests (License): Likewise.
33323         * modules/crypto/gc-tests (License): Likewise.
33324         * modules/crypto/hmac-md5 (License): Likewise.
33325         * modules/crypto/hmac-sha1 (License): Likewise.
33326         * modules/crypto/md2-tests (License): Likewise.
33327         * modules/crypto/md4-tests (License): Likewise.
33328         * modules/crypto/md5 (License): Likewise.
33329         * modules/crypto/rijndael (License): Likewise.
33330         * modules/crypto/sha1 (License): Likewise.
33331         * modules/memxor (License): Likewise.
33332
33333 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33334         and Bruno Haible  <bruno@clisp.org>
33335
33336         * NEWS: Describe interface changes to human, xstrtol.
33337         * lib/human.h: Include <xstrtol.h>.
33338         (human_options): Return enum strtol_error, not int.  Remove
33339         bool arg; take int * instead.
33340         * lib/human.c: Don't include "gettext.h".
33341         (_): Remove; no longer used.
33342         Don't include <xstrtol.h>, since human.h does it.
33343         (human_options): Adjust to abovementioned interface changes.
33344         Do not report error to stderr; that's now the caller's
33345         responsibility.
33346         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33347         interface change.
33348         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33349         Str, Argument_type_string.  All uses changed.  Put " argument"
33350         in diagnostics to make them clearer.  Change wording of suffix
33351         message for clarity.
33352         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33353         Argument_type_string.
33354         (STRTOL_FATAL_WARN): Remove; no longer used.
33355         * modules/human (Depends-on): Remove gettext-h.
33356
33357 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33358
33359         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33360
33361 2007-07-31  Bruno Haible  <bruno@clisp.org>
33362
33363         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33364         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33365         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33366
33367 2007-07-31  Bruno Haible  <bruno@clisp.org>
33368
33369         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33370         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33371
33372 2007-07-30  Bruno Haible  <bruno@clisp.org>
33373
33374         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33375         * modules/c-ctype (License): Likewise.
33376         * modules/c-strcase (License): Likewise.
33377         * modules/check-version (License): Likewise.
33378         * modules/iconv (License): Likewise.
33379         * modules/iconv_open (License): Likewise.
33380         * modules/read-file (License): Likewise.
33381         * modules/striconv (License): Likewise.
33382         * modules/strverscmp (License): Likewise.
33383         * modules/vasprintf (License): Likewise.
33384         * modules/crypto/des (License): Likewise.
33385         * modules/crypto/gc (License): Likewise.
33386         * modules/crypto/gc-arcfour (License): Likewise.
33387         * modules/crypto/gc-arctwo (License): Likewise.
33388         * modules/crypto/gc-des (License): Likewise.
33389         * modules/crypto/gc-hmac-md5 (License): Likewise.
33390         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33391         * modules/crypto/gc-md2 (License): Likewise.
33392         * modules/crypto/gc-md4 (License): Likewise.
33393         * modules/crypto/gc-md5 (License): Likewise.
33394         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33395         * modules/crypto/gc-random (License): Likewise.
33396         * modules/crypto/gc-rijndael (License): Likewise.
33397         * modules/crypto/gc-sha1 (License): Likewise.
33398         * modules/crypto/md2 (License): Likewise.
33399         * modules/crypto/md4 (License): Likewise.
33400
33401 2007-07-30  Jim Meyering  <jim@meyering.net>
33402
33403         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33404         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33405         it has valid stat data.  This bug would cause du not to count the
33406         sizes of inaccessible directories.
33407         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33408         in <http://bugzilla.redhat.com/250077>.
33409
33410 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33411             Bruno Haible  <bruno@clisp.org>
33412
33413         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33414         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33415         #include_next, gives a diagnostic about it, but reports no error in
33416         the exit code.
33417         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33418
33419 2007-07-24  Ben Pfaff  <blp@gnu.org>
33420
33421         Improve name: "count-one-bits" is better than "popcount".
33422         * MODULES.html.sh: Update name.
33423         * lib/popcount.h: Renamed lib/count-one-bits.h.
33424         (popcount): Renamed count_one_bits.
33425         (popcountl): Renamed count_one_bits_l.
33426         (popcountll): Renamed count_one_bits_ll.
33427         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33428         * modules/popcount: Renamed module/count-one-bits.
33429         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33430         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33431
33432 2007-07-23  Ben Pfaff  <blp@gnu.org>
33433
33434         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33435         better code generation, and add U to large constants to avoid
33436         warnings, in non-GCC case.
33437         Suggested by Bruno Haible.
33438
33439 2007-07-23  Ben Pfaff  <blp@gnu.org>
33440
33441         * lib/popcount.h: Use verify_true instead of if...abort.
33442         * modules/popcount: Depend on verify module.
33443         Suggested by Jim Meyering.
33444
33445 2007-07-23  Bruno Haible  <bruno@clisp.org>
33446
33447         * gnulib-tool (func_import): Create a .cvsignore file also when the
33448         directory is not yet in CVS but the toplevel directory is. When
33449         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33450         Reported by Karl Berry.
33451
33452 2007-07-22  Ben Pfaff  <blp@gnu.org>
33453
33454         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33455         case.
33456         Suggested by Eric Blake.
33457
33458 2007-07-22  Ben Pfaff  <blp@gnu.org>
33459
33460         New module: popcount.
33461         * MODULES.html.sh: Add popcount.
33462         * modules/popcount: New file.
33463         * modules/popcount-tests: New file.
33464         * tests/test-popcount.c: New file.
33465         * lib/popcount.h: New file.
33466         * m4/popcount.m4: New file.
33467
33468 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33469
33470         * build-aux/announce-gen: Update to GPLv3.
33471
33472         * build-aux/config.guess: Update from config.
33473
33474 2007-07-21  Bruno Haible  <bruno@clisp.org>
33475
33476         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33477         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33478
33479 2007-07-20  Jim Meyering  <jim@meyering.net>
33480
33481         * check-module: Diagnose a self-dependency.
33482
33483 2007-07-19  Bruno Haible  <bruno@clisp.org>
33484
33485         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33486         empty.
33487         Reported by Eric Blake.
33488
33489 2007-07-18  Bruno Haible  <bruno@clisp.org>
33490
33491         * gnulib-tool: New options --po-base, --po-domain.
33492         (func_usage): Document them.
33493         (pobase, po_domain): New variables.
33494         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33495         DEFAULT_TEXT_DOMAIN.
33496         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33497         (func_import): Consider pobase and po_domain. Create a po/ directory.
33498         (func_create_testdir): Set pobase and po_domain to empty.
33499         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33500         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33501
33502 2007-07-18  Bruno Haible  <bruno@clisp.org>
33503
33504         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33505         EXTRA_DIST augmentation for files in build-aux/.
33506
33507 2007-07-16  Bruno Haible  <bruno@clisp.org>
33508
33509         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33510         * modules/getdelim (License): Likewise.
33511
33512 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33513
33514         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33515         * modules/d-type (License): Likewise.
33516         * modules/extensions (License): Likewise.
33517         * modules/fnmatch (License): Likewise.
33518         * modules/fseeko (License): Likewise.
33519         * modules/getaddrinfo (License): Likewise.
33520         * modules/getline (License): Likewise.
33521         * modules/getlogin_r (License): Likewise.
33522         * modules/getpass (License): Likewise.
33523         * modules/gettimeofday (License): Likewise.
33524         * modules/glob (License): Likewise.
33525         * modules/inet_ntop (License): Likewise.
33526         * modules/malloc (License): Likewise.
33527         * modules/malloca (License): Likewise.
33528         * modules/memmem (License): Likewise.
33529         * modules/mempcpy (License): Likewise.
33530         * modules/memset (License): Likewise.
33531         * modules/minmax (License): Likewise.
33532         * modules/mktime (License): Likewise.
33533         * modules/netinet_in (License): Likewise.
33534         * modules/pathmax (License): Likewise.
33535         * modules/poll (License): Likewise.
33536         * modules/regex (License): Likewise.
33537         * modules/snprintf (License): Likewise.
33538         * modules/stdbool (License): Likewise.
33539         * modules/stdint (License): Likewise.
33540         * modules/stdio (License): Likewise.
33541         * modules/strcase (License): Likewise.
33542         * modules/strcasestr (License): Likewise.
33543         * modules/strdup (License): Likewise.
33544         * modules/string (License): Likewise.
33545         * modules/strndup (License): Likewise.
33546         * modules/strnlen (License): Likewise.
33547         * modules/strpbrk (License): Likewise.
33548         * modules/strptime (License): Likewise.
33549         * modules/strsep (License): Likewise.
33550         * modules/sys_select (License): Likewise.
33551         * modules/sys_socket (License): Likewise.
33552         * modules/sys_stat (License): Likewise.
33553         * modules/sys_time (License): Likewise.
33554         * modules/time (License): Likewise.
33555         * modules/time_r (License): Likewise.
33556         * modules/timegm (License): Likewise.
33557         * modules/unistd (License): Likewise.
33558         * modules/vsnprintf (License): Likewise.
33559         * modules/wctype (License): Likewise.
33560
33561 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33562
33563         * modules/argz (License): LGPLv2+.
33564
33565 2007-07-15  Karl Berry  <karl@gnu.org>
33566
33567         * doc/gnulib.texi: revise node structure per new fdl.texi.
33568
33569 2007-07-14  Bruno Haible  <bruno@clisp.org>
33570
33571         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33572         the output file.
33573         * lib/uniname/uninames.h: Regenerated.
33574
33575 2007-07-14  Karl Berry  <karl@gnu.org>
33576
33577         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33578         omitting sectioning and index commands.
33579
33580 2007-07-13  Bruno Haible  <bruno@clisp.org>
33581
33582         New gnulib-tool option --more-symlinks.
33583         * gnulib-tool (func_usage): Document --more-symlinks.
33584         (do_copyrights): New variable.
33585         Recognize option --more-symlinks.
33586         (func_import): Don't add a copyright notice transform to
33587         sed_transform_lib_file if do_copyrights is empty.
33588
33589 2007-07-13  Bruno Haible  <bruno@clisp.org>
33590
33591         * lib/vasnprintf.c (decimal_point_char): Define also if
33592         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33593         && !NEED_PRINTF_DIRECTIVE_A.
33594         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33595         Gary V. Vaughan <gary@gnu.org>.
33596
33597 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33598
33599         * lib/inttypes_.h: Undo previous change, since it was fixed
33600         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33601
33602 2007-07-13  Bruno Haible  <bruno@clisp.org>
33603
33604         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33605         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33606
33607 2007-07-13  Jim Meyering  <jim@meyering.net>
33608
33609         df: Don't fail for Tru64's "file-on-file mount".
33610         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33611         so we fall through and use statfs instead.  Details here:
33612         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33613         Reported by Albert Chin.
33614
33615 2007-07-13  Bruno Haible  <bruno@clisp.org>
33616
33617         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33618         * modules/configmake (License): Likewise.
33619         * modules/gettext (License): Likewise.
33620         * modules/gettext-h (License): Likewise.
33621         * modules/include_next (License): Likewise.
33622         * modules/link-warning (License): Likewise.
33623         * modules/localcharset (License): Likewise.
33624         * modules/localename (License): Likewise.
33625         * modules/lock (License): Likewise.
33626         * modules/relocatable-lib-lgpl (License): Likewise.
33627         * modules/size_max (License): Likewise.
33628         * modules/vasnprintf (License): Likewise.
33629         * modules/wchar (License): Likewise.
33630         * modules/xsize (License): Likewise.
33631
33632 2007-07-13  Bruno Haible  <bruno@clisp.org>
33633
33634         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33635         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33636
33637 2007-07-12  Bruno Haible  <bruno@clisp.org>
33638
33639         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
33640         in the modules files.
33641
33642 2007-07-11  Karl Berry  <karl@gnu.org>
33643
33644         * MODULES.html.sh (func_module): use
33645          sed -e '\|^'"${includefile}"'$|d'
33646          instead of /.../d, to avoid errors on $includefile's containing /.
33647
33648 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33649
33650         * gnulib-tool (func_import): Avoid duplication of --avoid
33651         statements
33652         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
33653         names to `_' in variable names.
33654
33655 2007-07-10  Eric Blake  <ebb9@byu.net>
33656
33657         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
33658         * NEWS: Document this change.
33659
33660 2007-07-08  Bruno Haible  <bruno@clisp.org>
33661
33662         Update to Unicode 5.0.
33663         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
33664         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
33665         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
33666         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
33667         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
33668         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
33669         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
33670         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
33671         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
33672         U+10A3F, U+1D242..U+1D244.
33673         (nonspacing_table_ind): Update.
33674         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
33675         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
33676
33677 2007-07-08  Bruno Haible  <bruno@clisp.org>
33678
33679         Update to Unicode 5.0.
33680         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
33681         code transform. Extend the name index field of unicode_name_to_code and
33682         unicode_code_to_name from 16 to 24 bits.
33683         * lib/uniname/uniname.c (unicode_character_name,
33684         unicode_name_character): Add the range 0x12xxx to the code transform.
33685         * lib/uniname/uninames.h: Regenerated.
33686         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
33687
33688 2007-07-07  Bruno Haible  <bruno@clisp.org>
33689
33690         * modules/wcwidth-tests: New file.
33691         * tests/test-wcwidth.c: New file.
33692
33693         Work around MacOS X wcwidth() bug.
33694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
33695         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
33696         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
33697         original wcwidth in non-UTF-8 locales.
33698         * modules/wcwidth (Depends-on): Add localcharset, streq,
33699         uniwidth/width.
33700         * doc/functions/wcwidth.texi: Update.
33701
33702 2007-07-07  Bruno Haible  <bruno@clisp.org>
33703
33704         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
33705         (wcwidth): New declaration.
33706         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
33707         macros.
33708         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
33709         here. Prepare for creating <wchar.h> unconditionally.
33710         * modules/wchar (Depends-on): Add link-warning.
33711         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
33712         REPLACE_WCWIDTH, and GL_LINK_WARNING.
33713         * lib/wcwidth.h: Remove file.
33714         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
33715         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
33716         * modules/wcwidth (Files): Remove lib/wcwidth.h.
33717         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
33718         (Include): Replace wcwidth.h with <wchar.h>.
33719         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
33720         * lib/mbchar.h: Don't include wcwidth.h.
33721         * lib/mbswidth.c: Likewise.
33722         * NEWS: Mention the change.
33723
33724 2007-07-07  Bruno Haible  <bruno@clisp.org>
33725
33726         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
33727         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
33728         definition with an external declaration.
33729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
33730         defined as a function. Remove AC_C_INLINE requirement.
33731         * modules/wcwidth (Files): Add lib/wcwidth.c.
33732         (Makefile.am): Remove redundant statement.
33733
33734 2007-07-07  Bruno Haible  <bruno@clisp.org>
33735
33736         * MODULES.html.sh (Unicode string functions): Add the new modules.
33737
33738         * tests/uniwidth/test-u32-strwidth.c: New file.
33739         * modules/uniwidth/u32-strwidth-tests: New file.
33740
33741         * lib/uniwidth/u32-strwidth.c: New file.
33742         * modules/uniwidth/u32-strwidth: New file.
33743
33744         * tests/uniwidth/test-u16-strwidth.c: New file.
33745         * modules/uniwidth/u16-strwidth-tests: New file.
33746
33747         * lib/uniwidth/u16-strwidth.c: New file.
33748         * modules/uniwidth/u16-strwidth: New file.
33749
33750         * tests/uniwidth/test-u8-strwidth.c: New file.
33751         * modules/uniwidth/u8-strwidth-tests: New file.
33752
33753         * lib/uniwidth/u8-strwidth.c: New file.
33754         * modules/uniwidth/u8-strwidth: New file.
33755
33756         * tests/uniwidth/test-u32-width.c: New file.
33757         * modules/uniwidth/u32-width-tests: New file.
33758
33759         * lib/uniwidth/u32-width.c: New file.
33760         * modules/uniwidth/u32-width: New file.
33761
33762         * tests/uniwidth/test-u16-width.c: New file.
33763         * modules/uniwidth/u16-width-tests: New file.
33764
33765         * lib/uniwidth/u16-width.c: New file.
33766         * modules/uniwidth/u16-width: New file.
33767
33768         * tests/uniwidth/test-u8-width.c: New file.
33769         * modules/uniwidth/u8-width-tests: New file.
33770
33771         * lib/uniwidth/u8-width.c: New file.
33772         * modules/uniwidth/u8-width: New file.
33773
33774         * tests/uniwidth/test-uc_width.c: New file.
33775         * modules/uniwidth/width-tests: New file.
33776
33777         * lib/uniwidth/width.c: New file, from GNU libiconv.
33778         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
33779         * modules/uniwidth/width: New file.
33780
33781         * lib/uniwidth.h: New file, from GNU libiconv.
33782         * modules/uniwidth/base: New file.
33783
33784 2007-07-07  Bruno Haible  <bruno@clisp.org>
33785
33786         * lib/uniname.h: New file, from GNU gettext.
33787         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
33788         * lib/uniname/uninames.h: New file, from GNU gettext.
33789         * lib/uniname/uniname.c: New file, from GNU gettext.
33790         * tests/uniname/test-uninames.sh: New file.
33791         * tests/uniname/test-uninames.c: New file, from GNU gettext.
33792         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
33793         * modules/uniname/base: New file.
33794         * modules/uniname/uniname: New file.
33795         * modules/uniname/uniname-tests: New file.
33796         * MODULES.html.sh (Unicode string functions): Add the new modules.
33797
33798 2007-07-06  Bruno Haible  <bruno@clisp.org>
33799
33800         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
33801
33802 2007-07-06  Bruno Haible  <bruno@clisp.org>
33803
33804         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
33805         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
33806         includes <cygwin/sys_time.h> which includes <sys/select.h> which
33807         include <sys/time.h>.
33808         Reported by Eric Blake.
33809
33810 2007-07-06  Eric Blake  <ebb9@byu.net>
33811
33812         Fix testing canonicalize on cygwin.
33813         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
33814         Revert patch from 2007-06-19.
33815         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
33816         canonicalize module is also in use.
33817         * tests/test-canonicalize.c: New file.
33818         * tests/test-canonicalize.sh: Likewise.
33819         * modules/canonicalize-tests: Likewise.
33820
33821 2007-07-06  Jim Meyering  <jim@meyering.net>
33822
33823         * lib/getugroups.c (getugroups): Detect getgrent failure.
33824         Adjust comment to reflect reality: this function may return -1.
33825
33826 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33827
33828         * build-aux/bootstrap (TP_URL,get_translations): Update to use
33829         the new TP address.
33830         (usage): Fix typo
33831         (gnulib_mk): New variable.
33832
33833 2007-07-05  Jim Meyering  <jim@meyering.net>
33834
33835         Don't let endgrent clobber errno, no matter how improbable.
33836         * lib/getugroups.c (getugroups): Save and restore errno around
33837         endgrent call.
33838
33839         Close the group DB even when failing with 2^31 or more members.
33840         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
33841
33842 2007-07-04  Jim Meyering  <jim@meyering.net>
33843
33844         * lib/getugroups.h: New file.
33845         * lib/getugroups.c: Include "getugroups.h".
33846         Remove uses of "register" keyword.
33847         Move local variable, "cp", down into scope where used.
33848         Give "username" parameter the "const" attribute.
33849         * modules/getugroups (Files): Add lib/getugroups.h
33850
33851 2007-07-04  Karl Berry  <karl@gnu.org>
33852
33853         * MODULES.html.sh (func_all_modules): Complete rename of
33854         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
33855
33856 2007-07-02  Bruno Haible  <bruno@clisp.org>
33857
33858         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
33859         mode, when inttypes.h comes from gnulib.
33860         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33861
33862 2007-07-02  Simon Josefsson  <simon@josefsson.org>
33863
33864         * NEWS: Mention lgpl module name change.
33865
33866         * modules/lgpl-2.1: Renamed from lgpl.
33867
33868         * NEWS: Mention gpl module name change.
33869
33870         * modules/gpl-3.0: New file, based on gpl-2.0.
33871
33872         * modules/gpl-2.0: Renamed from gpl.
33873
33874         * modules/gpl: Fix filename, doc/gpl.texi is now found at
33875         doc/gpl-2.0.texi.
33876
33877 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
33878
33879         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
33880         #define __STDC_LIMIT_MACROS temporarily while including
33881         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
33882         Problem reported by Joel E. Denny in
33883         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
33884
33885 2007-07-01  Bruno Haible  <bruno@clisp.org>
33886
33887         * lib/unistdio.h: New file.
33888         * lib/unistdio/u-asnprintf.h: New file.
33889         * lib/unistdio/u-asprintf.h: New file.
33890         * lib/unistdio/u-printf-args.c: New file.
33891         * lib/unistdio/u-printf-args.h: New file.
33892         * lib/unistdio/u-printf-parse.h: New file.
33893         * lib/unistdio/u-snprintf.h: New file.
33894         * lib/unistdio/u-sprintf.h: New file.
33895         * lib/unistdio/u-vasprintf.h: New file.
33896         * lib/unistdio/u-vsnprintf.h: New file.
33897         * lib/unistdio/u-vsprintf.h: New file.
33898         * lib/unistdio/ulc-asnprintf.c: New file.
33899         * lib/unistdio/ulc-asprintf.c: New file.
33900         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
33901         * lib/unistdio/ulc-printf-parse.c: New file.
33902         * lib/unistdio/ulc-snprintf.c: New file.
33903         * lib/unistdio/ulc-sprintf.c: New file.
33904         * lib/unistdio/ulc-vasnprintf.c: New file.
33905         * lib/unistdio/ulc-vasprintf.c: New file.
33906         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
33907         * lib/unistdio/ulc-vsnprintf.c: New file.
33908         * lib/unistdio/ulc-vsprintf.c: New file.
33909         * lib/unistdio/u8-asnprintf.c: New file.
33910         * lib/unistdio/u8-asprintf.c: New file.
33911         * lib/unistdio/u8-printf-parse.c: New file.
33912         * lib/unistdio/u8-snprintf.c: New file.
33913         * lib/unistdio/u8-sprintf.c: New file.
33914         * lib/unistdio/u8-vasnprintf.c: New file.
33915         * lib/unistdio/u8-vasprintf.c: New file.
33916         * lib/unistdio/u8-vsnprintf.c: New file.
33917         * lib/unistdio/u8-vsprintf.c: New file.
33918         * lib/unistdio/u8-u8-asnprintf.c: New file.
33919         * lib/unistdio/u8-u8-asprintf.c: New file.
33920         * lib/unistdio/u8-u8-snprintf.c: New file.
33921         * lib/unistdio/u8-u8-sprintf.c: New file.
33922         * lib/unistdio/u8-u8-vasnprintf.c: New file.
33923         * lib/unistdio/u8-u8-vasprintf.c: New file.
33924         * lib/unistdio/u8-u8-vsnprintf.c: New file.
33925         * lib/unistdio/u8-u8-vsprintf.c: New file.
33926         * lib/unistdio/u16-asnprintf.c: New file.
33927         * lib/unistdio/u16-asprintf.c: New file.
33928         * lib/unistdio/u16-printf-parse.c: New file.
33929         * lib/unistdio/u16-snprintf.c: New file.
33930         * lib/unistdio/u16-sprintf.c: New file.
33931         * lib/unistdio/u16-vasnprintf.c: New file.
33932         * lib/unistdio/u16-vasprintf.c: New file.
33933         * lib/unistdio/u16-vsnprintf.c: New file.
33934         * lib/unistdio/u16-vsprintf.c: New file.
33935         * lib/unistdio/u16-u16-asnprintf.c: New file.
33936         * lib/unistdio/u16-u16-asprintf.c: New file.
33937         * lib/unistdio/u16-u16-snprintf.c: New file.
33938         * lib/unistdio/u16-u16-sprintf.c: New file.
33939         * lib/unistdio/u16-u16-vasnprintf.c: New file.
33940         * lib/unistdio/u16-u16-vasprintf.c: New file.
33941         * lib/unistdio/u16-u16-vsnprintf.c: New file.
33942         * lib/unistdio/u16-u16-vsprintf.c: New file.
33943         * lib/unistdio/u32-asnprintf.c: New file.
33944         * lib/unistdio/u32-asprintf.c: New file.
33945         * lib/unistdio/u32-printf-parse.c: New file.
33946         * lib/unistdio/u32-snprintf.c: New file.
33947         * lib/unistdio/u32-sprintf.c: New file.
33948         * lib/unistdio/u32-vasnprintf.c: New file.
33949         * lib/unistdio/u32-vasprintf.c: New file.
33950         * lib/unistdio/u32-vsnprintf.c: New file.
33951         * lib/unistdio/u32-vsprintf.c: New file.
33952         * lib/unistdio/u32-u32-asnprintf.c: New file.
33953         * lib/unistdio/u32-u32-asprintf.c: New file.
33954         * lib/unistdio/u32-u32-snprintf.c: New file.
33955         * lib/unistdio/u32-u32-sprintf.c: New file.
33956         * lib/unistdio/u32-u32-vasnprintf.c: New file.
33957         * lib/unistdio/u32-u32-vasprintf.c: New file.
33958         * lib/unistdio/u32-u32-vsnprintf.c: New file.
33959         * lib/unistdio/u32-u32-vsprintf.c: New file.
33960         * tests/unistdio/test-ulc-asnprintf1.c: New file.
33961         * tests/unistdio/test-ulc-asnprintf1.h: New file.
33962         * tests/unistdio/test-ulc-printf1.h: New file.
33963         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
33964         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
33965         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
33966         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
33967         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
33968         * tests/unistdio/test-ulc-vasprintf1.c: New file.
33969         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
33970         * tests/unistdio/test-ulc-vsprintf1.c: New file.
33971         * tests/unistdio/test-u8-asnprintf1.c: New file.
33972         * tests/unistdio/test-u8-asnprintf1.h: New file.
33973         * tests/unistdio/test-u8-printf1.h: New file.
33974         * tests/unistdio/test-u8-vasnprintf1.c: New file.
33975         * tests/unistdio/test-u8-vasnprintf2.c: New file.
33976         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
33977         * tests/unistdio/test-u8-vasnprintf3.c: New file.
33978         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
33979         * tests/unistdio/test-u8-vasprintf1.c: New file.
33980         * tests/unistdio/test-u8-vsnprintf1.c: New file.
33981         * tests/unistdio/test-u8-vsprintf1.c: New file.
33982         * tests/unistdio/test-u16-asnprintf1.c: New file.
33983         * tests/unistdio/test-u16-asnprintf1.h: New file.
33984         * tests/unistdio/test-u16-printf1.h: New file.
33985         * tests/unistdio/test-u16-vasnprintf1.c: New file.
33986         * tests/unistdio/test-u16-vasnprintf2.c: New file.
33987         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
33988         * tests/unistdio/test-u16-vasnprintf3.c: New file.
33989         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
33990         * tests/unistdio/test-u16-vasprintf1.c: New file.
33991         * tests/unistdio/test-u16-vsnprintf1.c: New file.
33992         * tests/unistdio/test-u16-vsprintf1.c: New file.
33993         * tests/unistdio/test-u32-asnprintf1.c: New file.
33994         * tests/unistdio/test-u32-asnprintf1.h: New file.
33995         * tests/unistdio/test-u32-printf1.h: New file.
33996         * tests/unistdio/test-u32-vasnprintf1.c: New file.
33997         * tests/unistdio/test-u32-vasnprintf2.c: New file.
33998         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
33999         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34000         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34001         * tests/unistdio/test-u32-vasprintf1.c: New file.
34002         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34003         * tests/unistdio/test-u32-vsprintf1.c: New file.
34004         * modules/unistdio/base: New file.
34005         * modules/unistdio/u-printf-args: New file.
34006         * modules/unistdio/ulc-asnprintf: New file.
34007         * modules/unistdio/ulc-asprintf: New file.
34008         * modules/unistdio/ulc-fprintf: New file.
34009         * modules/unistdio/ulc-printf-parse: New file.
34010         * modules/unistdio/ulc-snprintf: New file.
34011         * modules/unistdio/ulc-sprintf: New file.
34012         * modules/unistdio/ulc-vasnprintf: New file.
34013         * modules/unistdio/ulc-vasprintf: New file.
34014         * modules/unistdio/ulc-vfprintf: New file.
34015         * modules/unistdio/ulc-vsnprintf: New file.
34016         * modules/unistdio/ulc-vsprintf: New file.
34017         * modules/unistdio/u8-asnprintf: New file.
34018         * modules/unistdio/u8-asprintf: New file.
34019         * modules/unistdio/u8-printf-parse: New file.
34020         * modules/unistdio/u8-snprintf: New file.
34021         * modules/unistdio/u8-sprintf: New file.
34022         * modules/unistdio/u8-vasnprintf: New file.
34023         * modules/unistdio/u8-vasprintf: New file.
34024         * modules/unistdio/u8-vsnprintf: New file.
34025         * modules/unistdio/u8-vsprintf: New file.
34026         * modules/unistdio/u8-u8-asnprintf: New file.
34027         * modules/unistdio/u8-u8-asprintf: New file.
34028         * modules/unistdio/u8-u8-snprintf: New file.
34029         * modules/unistdio/u8-u8-sprintf: New file.
34030         * modules/unistdio/u8-u8-vasnprintf: New file.
34031         * modules/unistdio/u8-u8-vasprintf: New file.
34032         * modules/unistdio/u8-u8-vsnprintf: New file.
34033         * modules/unistdio/u8-u8-vsprintf: New file.
34034         * modules/unistdio/u16-asnprintf: New file.
34035         * modules/unistdio/u16-asprintf: New file.
34036         * modules/unistdio/u16-printf-parse: New file.
34037         * modules/unistdio/u16-snprintf: New file.
34038         * modules/unistdio/u16-sprintf: New file.
34039         * modules/unistdio/u16-vasnprintf: New file.
34040         * modules/unistdio/u16-vasprintf: New file.
34041         * modules/unistdio/u16-vsnprintf: New file.
34042         * modules/unistdio/u16-vsprintf: New file.
34043         * modules/unistdio/u16-u16-asnprintf: New file.
34044         * modules/unistdio/u16-u16-asprintf: New file.
34045         * modules/unistdio/u16-u16-snprintf: New file.
34046         * modules/unistdio/u16-u16-sprintf: New file.
34047         * modules/unistdio/u16-u16-vasnprintf: New file.
34048         * modules/unistdio/u16-u16-vasprintf: New file.
34049         * modules/unistdio/u16-u16-vsnprintf: New file.
34050         * modules/unistdio/u16-u16-vsprintf: New file.
34051         * modules/unistdio/u32-asnprintf: New file.
34052         * modules/unistdio/u32-asprintf: New file.
34053         * modules/unistdio/u32-printf-parse: New file.
34054         * modules/unistdio/u32-snprintf: New file.
34055         * modules/unistdio/u32-sprintf: New file.
34056         * modules/unistdio/u32-vasnprintf: New file.
34057         * modules/unistdio/u32-vasprintf: New file.
34058         * modules/unistdio/u32-vsnprintf: New file.
34059         * modules/unistdio/u32-vsprintf: New file.
34060         * modules/unistdio/u32-u32-asnprintf: New file.
34061         * modules/unistdio/u32-u32-asprintf: New file.
34062         * modules/unistdio/u32-u32-snprintf: New file.
34063         * modules/unistdio/u32-u32-sprintf: New file.
34064         * modules/unistdio/u32-u32-vasnprintf: New file.
34065         * modules/unistdio/u32-u32-vasprintf: New file.
34066         * modules/unistdio/u32-u32-vsnprintf: New file.
34067         * modules/unistdio/u32-u32-vsprintf: New file.
34068         * modules/unistdio/ulc-asnprintf-tests: New file.
34069         * modules/unistdio/ulc-vasnprintf-tests: New file.
34070         * modules/unistdio/ulc-vasprintf-tests: New file.
34071         * modules/unistdio/ulc-vsnprintf-tests: New file.
34072         * modules/unistdio/ulc-vsprintf-tests: New file.
34073         * modules/unistdio/u8-asnprintf-tests: New file.
34074         * modules/unistdio/u8-vasnprintf-tests: New file.
34075         * modules/unistdio/u8-vasprintf-tests: New file.
34076         * modules/unistdio/u8-vsnprintf-tests: New file.
34077         * modules/unistdio/u8-vsprintf-tests: New file.
34078         * modules/unistdio/u16-asnprintf-tests: New file.
34079         * modules/unistdio/u16-vasnprintf-tests: New file.
34080         * modules/unistdio/u16-vasprintf-tests: New file.
34081         * modules/unistdio/u16-vsnprintf-tests: New file.
34082         * modules/unistdio/u16-vsprintf-tests: New file.
34083         * modules/unistdio/u32-asnprintf-tests: New file.
34084         * modules/unistdio/u32-vasnprintf-tests: New file.
34085         * modules/unistdio/u32-vasprintf-tests: New file.
34086         * modules/unistdio/u32-vsnprintf-tests: New file.
34087         * modules/unistdio/u32-vsprintf-tests: New file.
34088         * MODULES.html.sh (Unicode string functions): Add the new modules.
34089
34090 2007-07-01  Bruno Haible  <bruno@clisp.org>
34091
34092         * lib/sprintf.c (sprintf): Limit the available length estimation,
34093         to avoid address wraparound.
34094         * lib/vsprintf.c (vsprintf): Likewise.
34095         * modules/sprintf-posix (Dependencies): Add stdint.
34096         * modules/vsprintf-posix (Dependencies): Likewise.
34097
34098 2007-07-01  Bruno Haible  <bruno@clisp.org>
34099
34100         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34101         Windows PATH as well. Conservative double-quoting. Comments.
34102
34103 2007-07-01  Bruno Haible  <bruno@clisp.org>
34104             Eric Blake  <ebb9@byu.net>
34105             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34106
34107         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34108         empty components in $PATH, denoting '.'.
34109
34110 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34111
34112         * gnulib-tool: Fix indentation.
34113         (func_create_megatestdir): Likewise.
34114         Report by Bruno Haible.
34115
34116 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34117
34118         Sync from Automake.
34119         * build-aux/gnupload: Fix shell portability issues with for loops.
34120         Report by Karl Berry.
34121
34122 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34123
34124         * build-aux/maint.mk (POURL): Use translationproject.org.
34125
34126 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34127             Bruno Haible  <bruno@clisp.org>
34128
34129         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34130         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34131         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34132         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34133         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34134
34135 2007-06-27  Bruno Haible  <bruno@clisp.org>
34136
34137         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34138         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34139
34140 2007-06-26  Karl Berry  <karl@gnu.org>
34141
34142         * MODULES.html.sh: remove xreadlink-with-size.
34143
34144 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34145
34146         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34147         method that I hope also handles the double-include problem noted
34148         by Bruno Haible in
34149         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34150
34151 2007-06-23  Bruno Haible  <bruno@clisp.org>
34152
34153         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34154         Don't let the 'mostlyclean' target fail if the last subdirectory could
34155         not be removed.
34156         Reported by Karl Berry.
34157
34158 2007-06-23  Bruno Haible  <bruno@clisp.org>
34159
34160         * gnulib-tool (echo): Add a speedier workaround for ksh.
34161         * tests/test-echo.sh: Likewise.
34162
34163 2007-06-23  Bruno Haible  <bruno@clisp.org>
34164
34165         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
34166         * tests/test-echo.sh: Likewise.
34167
34168 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34169
34170         * gnulib-tool (IFS): Initialize early, so we don't set it to
34171         empty later.
34172         (self_abspathname): Rewrite algorithm to set it, reindent.
34173         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
34174         (func_create_megatestdir): Merge some sed scripts.
34175
34176 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34177
34178         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
34179         exposed by Sun Studio 11 cc on Solaris 8.
34180
34181 2007-06-22  Bruno Haible  <bruno@clisp.org>
34182
34183         * gnulib-tool (echo): Ensure the echo primitive does not interpret
34184         backslashes.
34185         * tests/test-echo.sh: New file.
34186
34187 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34188
34189         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34190         simplify `sed_replace_build_aux' scripts, they are portable but
34191         echoing them with `echo' is not.
34192         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34193
34194 2007-06-21  Karl Berry  <karl@gnu.org>
34195
34196         * config/srclist.txt: guess we can't handle the licenses via
34197         srclist at the moment.
34198
34199 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34200
34201         * MODULES.html.sh: Add include_next.
34202         * modules/include_next: New file.
34203
34204 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34205
34206         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34207         INCLUDE_NEXT.
34208         (gl_CHECK_NEXT_HEADERS): New macro.
34209         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34210         the obsolescent gl_ABSOLUTE_HEADER.
34211         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34212         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34213         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34214         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34215         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34216         * m4/math_h.m4 (gl_MATH_H): Likewise.
34217         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34218         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34219         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34220         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34221         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34222         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34223         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34224         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34225         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34226         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34227         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34228         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34229         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34230         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34231         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34232         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34233         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34234         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34235         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34236         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34237         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34238         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34239         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34240         * lib/float_.h: Likewise.
34241         * lib/inttypes_.h: Likewise.
34242         * lib/math_.h: Likewise.
34243         * lib/search_.h: Likewise.
34244         * lib/signal_.h: Likewise.
34245         * lib/stdint_.h: Likewise.
34246         * lib/stdio_.h: Likewise.
34247         * lib/stdlib_.h: Likewise.
34248         * lib/string_.h: Likewise.
34249         * lib/sys_stat_.h: Likewise.
34250         * lib/sys_time_.h: Likewise.
34251         * lib/time_.h: Likewise.
34252         * lib/unistd_.h: Likewise.
34253         * lib/wchar_.h: Likewise.
34254         * lib/wctype_.h: Likewise.
34255         * lib/dirent_.h: Likewise.
34256         * lib/iconv_.h: Likewise.
34257         * lib/locale_.h: Likewise.
34258         * lib/netinet_in_.h: Likewise.
34259         * lib/sys_select_.h: Likewise.
34260         * lib/sys_socket_.h: Likewise.
34261         * lib/sysexits_.h: Likewise.
34262         * modules/fcntl (Depends-on): Depend on include_next, not
34263         absolute_header.
34264         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34265         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34266         * modules/fchdir: Likewise.
34267         * modules/float: Likewise.
34268         * modules/iconv_open: Likewise.
34269         * modules/inttypes: Likewise.
34270         * modules/locale: Likewise.
34271         * modules/math: Likewise.
34272         * modules/netinet_in: Likewise.
34273         * modules/search: Likewise.
34274         * modules/signal: Likewise.
34275         * modules/stdint: Likewise.
34276         * modules/stdio: Likewise.
34277         * modules/stdlib: Likewise.
34278         * modules/string: Likewise.
34279         * modules/sys_select: Likewise.
34280         * modules/sys_socket: Likewise.
34281         * modules/sys_stat: Likewise.
34282         * modules/sys_time: Likewise.
34283         * modules/sysexits: Likewise.
34284         * modules/time: Likewise.
34285         * modules/unistd: Likewise.
34286         * modules/wchar: Likewise.
34287         * modules/wctype: Likewise.
34288         * modules/sys_stat: Change maintainer to "all".
34289         * modules/unistd: Likewise.
34290
34291 2007-06-20  Karl Berry  <karl@gnu.org>
34292
34293         * config/srclist.txt: track www changes in license files.
34294
34295 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34296
34297         * build-aux/bootstrap: Remove stray dot.
34298         Make sure build_aux settings are honored when linking
34299         gnulib_extra_files.
34300
34301 2007-06-19  Eric Blake  <ebb9@byu.net>
34302
34303         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34304         Allow compilation on cygwin.
34305
34306 2007-06-19  Jim Meyering  <jim@meyering.net>
34307
34308         xreadlink-with-size: Remove module.  No longer used.
34309         Ex-callers now use xreadlink or mreadlink-with-size.
34310         * modules/xreadlink-with-size: Remove module.
34311         * lib/xreadlink-with-size.c: Remove file.
34312         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34313         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34314         just before the function definition *is* accurate.
34315
34316         Eliminate one way canonicalize_filename_mode could exit.
34317         * lib/canonicalize.c (canonicalize_filename_mode):
34318         Use mreadlink_with_size, not xreadlink_with_size.
34319
34320 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34321
34322         Detect porting problems to FreeBSD/arm, which has time_t wider than
34323         long int.  Original problem reported for GNU diff by Xin Li in
34324         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34325         * modules/getdate (Depends-on): Add intprops, verify.
34326         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34327         is an integer type no wider than long int.
34328
34329 2007-06-18  Jim Meyering  <jim@meyering.net>
34330
34331         New module: mreadlink-with-size.
34332         * MODULES.html.sh: Add mreadlink-with-size.
34333         * modules/mreadlink-with-size: New module
34334         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34335         not xreadlink-with-size.
34336         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34337
34338 2007-06-16  Bruno Haible  <bruno@clisp.org>
34339
34340         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34341         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34342         Reported by Gary V. Vaughan <gary@gnu.org>.
34343
34344 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34345
34346         Revamp lchown so that it lives in unistd.h where it belongs.
34347         * lib/lchown.h: Remove.
34348         * lib/dirchownmod.c: Don't include lib/lchown.h.
34349         * lib/fchownat.c: Likewise.
34350         * lib/openat.c: Likewise.
34351         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34352         does not follow symlinks.
34353         (EOPNOTSUPP): Define if not defined.
34354         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34355         is defined to 0.
34356         (lchown): New decl.
34357         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34358         Do not check for lchown decl.
34359         Set REPLACE_LCHOWN.
34360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34361         REPLACE_LCHOWN.
34362         * modules/chown: Make it clear it follows symlinks.
34363         * modules/lchown: Make it clear it doesn't follow symlinks.
34364         (Files): Remove lib/lchown.h
34365         (Depends-on): Add unistd.
34366         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34367         (Include): Include <unistd.h>, not "lchown.h".
34368         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34369         REPLACE_LCHOWN.
34370
34371 2007-06-15  Jim Meyering  <jim@meyering.net>
34372
34373         Change license (GPL to LGPL) of fsusage and dependents.
34374         * modules/fsusage (License): Change to LGPL.
34375         * modules/full-read (License): Likewise.
34376         * modules/full-write (License): Likewise.
34377         * modules/safe-read (License): Likewise.
34378         * modules/safe-write (License): Likewise.
34379
34380 2007-06-14  Ben Pfaff  <blp@gnu.org>
34381
34382         Missing part of allocsa -> malloca transition.
34383         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34384         gl_MALLOCA.
34385
34386 2007-06-12  Bruno Haible  <bruno@clisp.org>
34387
34388         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34389         to ia64, x86_64, i386.
34390         Reported by Eric Blake.
34391
34392 2007-06-12  Bruno Haible  <bruno@clisp.org>
34393
34394         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34395         cross-compiling to x86_64.
34396
34397 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34398
34399         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34400         glitch reported by Ralf Wildenhues in
34401         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34402
34403         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34404         Vin Shelton.
34405
34406 2007-06-11  Bruno Haible  <bruno@clisp.org>
34407
34408         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34409         replacement string.
34410         Reported by Eric Blake.
34411
34412 2007-06-10  Bruno Haible  <bruno@clisp.org>
34413
34414         Prepare vasnprintf code for use with Unicode strings.
34415         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34416         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34417         TYPE_U32_STRING.
34418         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34419         a_u32_string variants.
34420         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34421         * lib/printf-args.c: Don't include config.h and the specification
34422         header if PRINTF_FETCHARGS is already defined.
34423         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34424         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34425         TYPE_U16_STRING, TYPE_U32_STRING.
34426         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34427         u16_directive, u16_directives, u32_directive, u32_directives): New
34428         types.
34429         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34430         New declarations.
34431         * lib/printf-parse.c: Don't include config.h and the specification
34432         header if PRINTF_PARSE is already defined. Eliminate the set of
34433         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34434         them now. Include c-ctype.h.
34435         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34436         directive and CHAR_T_ONLY_ASCII.
34437         * lib/vasnprintf.c: Don't include config.h and the specification header
34438         if VASNPRINTF is already defined.
34439         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34440         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34441         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34442         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34443         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34444         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34445         code accordingly.
34446         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34447         pad_ourselves also in this case, with the 'c' and 's' directives, and
34448         with a different notion of "width".
34449         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34450
34451 2007-06-10  Bruno Haible  <bruno@clisp.org>
34452
34453         * modules/unistr/u32-mbsnlen: New file.
34454         * lib/unistr/u32-mbsnlen.c: New file.
34455
34456         * modules/unistr/u16-mbsnlen: New file.
34457         * lib/unistr/u16-mbsnlen.c: New file.
34458
34459         * modules/unistr/u8-mbsnlen: New file.
34460         * lib/unistr/u8-mbsnlen.c: New file.
34461
34462         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34463         declarations.
34464
34465 2007-06-10  Bruno Haible  <bruno@clisp.org>
34466
34467         * lib/string_.h (mbsnlen): New declaration.
34468         * lib/mbsnlen.c: New file.
34469         * m4/mbsnlen.m4: New file.
34470         * modules/mbsnlen: New file.
34471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34472         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34473         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34474
34475 2007-06-10  Bruno Haible  <bruno@clisp.org>
34476
34477         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34478
34479 2007-06-10  Bruno Haible  <bruno@clisp.org>
34480
34481         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34482         * lib/mbuiter.h: Likewise.
34483
34484 2007-06-10  Bruno Haible  <bruno@clisp.org>
34485
34486         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34487         declaration.
34488
34489 2007-06-10  Karl Berry  <karl@gnu.org>
34490
34491         * config/srclist.txt: remove gettext entries, Bruno prefers
34492         to update individually.
34493
34494 2007-06-10  Bruno Haible  <bruno@clisp.org>
34495
34496         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34497         'maxlen'. Ensure only length + width bytes are allocated, not
34498         length + 1 + width.
34499
34500 2007-06-09  Bruno Haible  <bruno@clisp.org>
34501
34502         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34503         (CHAR_T): Remove macro.
34504         (VASNPRINTF): Update.
34505
34506 2007-06-09  Bruno Haible  <bruno@clisp.org>
34507
34508         * MODULES.html.sh (Unicode string functions): Add the new modules.
34509
34510         * modules/uniconv/u32-conv-to-enc: New file.
34511         * lib/uniconv/u32-conv-to-enc.c: New file.
34512         * modules/uniconv/u32-conv-to-enc-tests: New file.
34513         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34514
34515         * modules/uniconv/u16-conv-to-enc: New file.
34516         * lib/uniconv/u16-conv-to-enc.c: New file.
34517         * lib/uniconv/u-conv-to-enc.h: New file.
34518         * modules/uniconv/u16-conv-to-enc-tests: New file.
34519         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34520
34521         * modules/uniconv/u8-conv-to-enc: New file.
34522         * lib/uniconv/u8-conv-to-enc.c: New file.
34523         * modules/uniconv/u8-conv-to-enc-tests: New file.
34524         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34525
34526         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34527         u32_conv_to_encoding): New declarations.
34528
34529 2007-06-09  Bruno Haible  <bruno@clisp.org>
34530
34531         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34532
34533 2007-06-09  Bruno Haible  <bruno@clisp.org>
34534
34535         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34536         * modules/malloca: Renamed from modules/allocsa, updated.
34537         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34538         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34539         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34540         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34541         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34542         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34543         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34544         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34545         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34546         * modules/c-strcasestr (Depends-on): Update.
34547         * lib/c-strcasestr.c: Update.
34548         * modules/c-strstr (Depends-on): Update.
34549         * lib/c-strstr.c: Update.
34550         * modules/canonicalize-lgpl (Depends-on): Update.
34551         * lib/canonicalize-lgpl.c: Update.
34552         * modules/clean-temp (Depends-on): Update.
34553         * lib/clean-temp.c: Update.
34554         * modules/csharpcomp (Depends-on): Update.
34555         * lib/csharpcomp.c: Update.
34556         * modules/csharpexec (Depends-on): Update.
34557         * lib/csharpexec.c: Update.
34558         * modules/javacomp (Depends-on): Update.
34559         * lib/javacomp.c: Update.
34560         * modules/javaexec (Depends-on): Update.
34561         * lib/javaexec.c: Update.
34562         * modules/mbscasestr (Depends-on): Update.
34563         * lib/mbscasestr.c: Update.
34564         * modules/mbsstr (Depends-on): Update.
34565         * lib/mbsstr.c: Update.
34566         * modules/setenv (Depends-on): Update.
34567         * lib/setenv.c: Update.
34568         * modules/strcasestr (Depends-on): Update.
34569         * lib/strcasestr.c: Update.
34570         * modules/striconveha (Depends-on): Update.
34571         * lib/striconveha.c: Update.
34572         * modules/relocatable-prog-wrapper (Files): Update.
34573         * lib/relocwrapper.c: Update.
34574         * build-aux/install-reloc: Update.
34575         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34576
34577 2007-06-08  Bruno Haible  <bruno@clisp.org>
34578
34579         Port to uClibc.
34580         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34581         * lib/fpurge.c (fpurge): Likewise.
34582         * lib/freading.c (freading): Likewise.
34583         * lib/fseeko.c (rpl_fseeko): Likewise.
34584         * lib/fseterr.c (fseterr): Likewise.
34585         * lib/fwriting.c (fwriting): Likewise.
34586         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34587
34588 2007-06-08  Bruno Haible  <bruno@clisp.org>
34589
34590         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34591         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34592         * modules/gettext (Files): Add m4/intlmacosx.m4.
34593
34594 2007-06-07  Bruno Haible  <bruno@clisp.org>
34595
34596         * modules/localename-tests: New file.
34597         * tests/test-localename.c: New file.
34598
34599         New module 'localename'.
34600         * lib/localename.h: New file.
34601         * lib/localename.c: New file, from GNU gettext.
34602         * m4/localename.m4: New file.
34603         * modules/localename: New file.
34604
34605 2007-06-07  Bruno Haible  <bruno@clisp.org>
34606
34607         Work around the lack of <wchar.h> on some builds of uClibc.
34608         * doc/headers/wchar.texi: Update.
34609         * lib/wchar_.h: Include <wchar.h> only if it exists.
34610         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34611         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34612         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34613         doesn't exist.
34614         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34615         * modules/mbfile (Depends-on): Add wchar.
34616         * modules/mbiter (Depends-on): Likewise.
34617         * modules/mbuiter (Depends-on): Likewise.
34618         Reported by Simon Josefsson.
34619
34620 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34621
34622         Work around problem reported by Steven M. Schweda in
34623         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34624         Tru64 5.1B with the Compaq compiler environment installed declares
34625         an 'isblank' function but does not define it in the C library.
34626         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34627         * lib/regex_internal.h (isblank): Likewise.
34628         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34629         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34630
34631 2007-06-05  Bruno Haible  <bruno@clisp.org>
34632
34633         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34634         ia64.
34635         * modules/printf-safe: New file.
34636         * modules/fprintf-posix (Depends-on): Add printf-safe.
34637         * modules/printf-posix (Depends-on): Likewise.
34638         * modules/snprintf-posix (Depends-on): Likewise.
34639         * modules/sprintf-posix (Depends-on): Likewise.
34640         * modules/vasnprintf-posix (Depends-on): Likewise.
34641         * modules/vasprintf-posix (Depends-on): Likewise.
34642         * modules/vfprintf-posix (Depends-on): Likewise.
34643         * modules/vprintf-posix (Depends-on): Likewise.
34644         * modules/vsnprintf-posix (Depends-on): Likewise.
34645         * modules/vsprintf-posix (Depends-on): Likewise.
34646         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
34647         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
34648         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
34649         "no" on i386, x86_64, ia64.
34650         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
34651         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34652         on i386, x86_64, ia64.
34653         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
34654         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34655         on i386, x86_64, ia64.
34656         * tests/test-vasnprintf-posix.c: Include float.h.
34657         (LDBL80_WORDS): New macro.
34658         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34659         on i386, x86_64, ia64.
34660         * tests/test-vasprintf-posix.c: Include float.h.
34661         (LDBL80_WORDS): New macro.
34662         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34663         on i386, x86_64, ia64.
34664         * tests/test-snprintf-posix.c: Include float.h.
34665         * tests/test-sprintf-posix.c: Likewise.
34666         * tests/test-vsnprintf-posix.c: Likewise.
34667         * tests/test-vsprintf-posix.c: Likewise.
34668
34669 2007-06-05  Bruno Haible  <bruno@clisp.org>
34670
34671         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
34672         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
34673         non-IEEE numbers on i386, x86_64, ia64.
34674         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
34675         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
34676         * tests/test-isnanl.h: Include float.h.
34677         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
34678
34679 2007-06-05  Bruno Haible  <bruno@clisp.org>
34680
34681         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
34682         also the %a / %A. Handle the %a / %A code before this extra handling.
34683
34684 2007-06-05  Bruno Haible  <bruno@clisp.org>
34685
34686         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
34687         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
34688
34689 2007-06-05  Bruno Haible  <bruno@clisp.org>
34690
34691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
34692         typo in variable name.
34693
34694 2007-06-05  Eric Blake  <ebb9@byu.net>
34695
34696         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
34697         Reported by Simon Josefsson.
34698
34699 2007-06-04  Bruno Haible  <bruno@clisp.org>
34700
34701         Avoid test failures on some PowerPC platforms.
34702         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
34703         Define differently for PowerPC.
34704         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
34705         Reported by Gary V. Vaughan <gary@gnu.org>.
34706
34707 2007-06-02  Bruno Haible  <bruno@clisp.org>
34708
34709         Fix test-stdint failure on FreeBSD/ia64.
34710         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
34711         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
34712         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
34713         * doc/headers/stdint.texi: Update.
34714
34715 2007-06-01  Bruno Haible  <bruno@clisp.org>
34716
34717         * tests/test-binary-io.c (main): Pass a third argument to open().
34718         Reported by Gary V. Vaughan <gary@gnu.org>.
34719
34720 2007-06-01  Bruno Haible  <bruno@clisp.org>
34721
34722         * doc/functions/frexpl.texi: Update for mingw.
34723
34724 2007-06-01  Bruno Haible  <bruno@clisp.org>
34725
34726         * tests/test-lseek.c (main): Disable test of errno for invalid third
34727         argument.
34728         * doc/functions/lseek.texi: Update.
34729         Reported by Gary V. Vaughan <gary@gnu.org>.
34730
34731 2007-05-28  Bruno Haible  <bruno@clisp.org>
34732
34733         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
34734
34735 2007-05-31  Eric Blake  <ebb9@byu.net>
34736
34737         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
34738         cross compiling.
34739
34740 2007-05-30  Eric Blake  <ebb9@byu.net>
34741         and Bruno Haible  <bruno@clisp.org>
34742
34743         Work around mingw test failures exposed by m4-1.4.9b.
34744         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
34745         * tests/test-unistd.c: Disable uid_t and git_t tests for the
34746         moment.
34747
34748 2007-05-30  Bruno Haible  <bruno@clisp.org>
34749
34750         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
34751         assuming that they are closed. Needed on HP-UX 11.
34752
34753 2007-05-29  Bruno Haible  <bruno@clisp.org>
34754
34755         Fix a problem with #include_next.
34756         * lib/dirent_.h: Split the double-inclusion guard.
34757         * lib/fcntl_.h: Likewise.
34758         * lib/float_.h: Likewise.
34759         * lib/iconv_.h: Likewise.
34760         * lib/inttypes_.h: Likewise.
34761         * lib/locale_.h: Likewise.
34762         * lib/math_.h: Likewise.
34763         * lib/netinet_in_.h: Likewise.
34764         * lib/search_.h: Likewise.
34765         * lib/signal_.h: Likewise.
34766         * lib/stdint_.h: Likewise.
34767         * lib/stdio_.h: Likewise.
34768         * lib/stdlib_.h: Likewise.
34769         * lib/string_.h: Likewise.
34770         * lib/sys_select_.h: Likewise.
34771         * lib/sys_socket_.h: Likewise.
34772         * lib/sys_stat_.h: Likewise.
34773         * lib/sys_time_.h: Likewise.
34774         * lib/sysexits_.h: Likewise.
34775         * lib/time_.h: Likewise.
34776         * lib/unistd_.h: Likewise.
34777         * lib/wchar_.h: Likewise.
34778         * lib/wctype_.h: Likewise.
34779
34780 2007-05-29  Bruno Haible  <bruno@clisp.org>
34781
34782         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
34783         for the moment.
34784
34785 2007-05-29  Bruno Haible  <bruno@clisp.org>
34786
34787         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
34788         invocation.
34789         Reported by Eric Blake.
34790
34791 2007-05-29  Bruno Haible  <bruno@clisp.org>
34792
34793         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
34794         compiling case.
34795
34796 2007-05-29  Eric Blake  <ebb9@byu.net>
34797             Bruno Haible  <bruno@clisp.org>
34798
34799         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
34800         cross compiles.
34801
34802 2007-05-28  Eric Blake  <ebb9@byu.net>
34803
34804         * modules/closein-tests (test_closein_LDADD): Support test on
34805         cygwin with libtool.
34806
34807 2007-05-28  Bruno Haible  <bruno@clisp.org>
34808
34809         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
34810         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34811         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34812         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34813         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34814         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34815         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34816         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34817         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34818
34819 2007-05-28  Eric Blake  <ebb9@byu.net>
34820
34821         Unconditionally include <config.h> in unit tests.
34822         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
34823         * tests/test-allocsa.c, tests/test-arcfour.c,
34824         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
34825         tests/test-array_list.c, tests/test-array_oset.c,
34826         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
34827         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
34828         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
34829         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
34830         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
34831         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
34832         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
34833         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
34834         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
34835         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
34836         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
34837         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
34838         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
34839         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
34840         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
34841         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
34842         test-md5.c, test-memmem.c, test-printf-posix.c,
34843         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
34844         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
34845         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
34846         test-strcasestr.c, test-striconv.c, test-striconveh.c,
34847         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
34848         test-vasnprintf-posix2.c, test-vasnprintf.c,
34849         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
34850         test-vfprintf-posix.c, test-vprintf-posix.c,
34851         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
34852         test-xvasprintf.c: Likewise.
34853
34854 2007-05-28  Bruno Haible  <bruno@clisp.org>
34855
34856         * gnulib-tool (func_import): Remember the --with-tests command-line
34857         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
34858         Reported by Eric Blake.
34859
34860 2007-05-28  Bruno Haible  <bruno@clisp.org>
34861
34862         * modules/ftell-tests: New file.
34863         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
34864         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
34865
34866         * lib/ftell.c: New file.
34867         * modules/ftell: New file.
34868         * m4/ftell.m4: New file.
34869         * doc/functions/ftell.texi: Update.
34870         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
34871         REPLACE_FTELL.
34872         * lib/stdio_.h (rpl_ftell): New declaration.
34873         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
34874         REPLACE_FTELL.
34875
34876 2007-05-28  Eric Blake  <ebb9@byu.net>
34877
34878         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
34879
34880 2007-05-28  Bruno Haible  <bruno@clisp.org>
34881
34882         * modules/fseek-tests: New file.
34883         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
34884         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
34885
34886         * lib/fseek.c: New file.
34887         * modules/fseek: New file.
34888         * m4/fseek.m4: New file.
34889         * doc/functions/fseek.texi: Update.
34890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
34891         REPLACE_FSEEK.
34892         * lib/stdio_.h (rpl_fseek): New declaration.
34893         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
34894         REPLACE_FSEEK.
34895
34896 2007-05-28  Bruno Haible  <bruno@clisp.org>
34897
34898         * lib/stdio_.h (fflush): More comments.
34899
34900 2007-05-28  Bruno Haible  <bruno@clisp.org>
34901
34902         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
34903         runtime test.
34904
34905 2007-05-28  Eric Blake  <ebb9@byu.net>
34906
34907         Improve lseek module.
34908         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
34909         * lib/unistd_.h (lseek): Scale back link warning message.
34910         * tests/test-lseek.c: Beef up test.
34911         * tests/test-lseek.sh: Exercise more facets of lseek.
34912         Reported by Bruno Haible.
34913
34914 2007-05-28  Bruno Haible  <bruno@clisp.org>
34915
34916         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
34917         to define.
34918
34919 2007-05-27  Bruno Haible  <bruno@clisp.org>
34920
34921         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
34922
34923 2007-05-27  Bruno Haible  <bruno@clisp.org>
34924
34925         * modules/openmp: New file.
34926         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
34927         Noah Misch.
34928
34929 2007-05-26  Bruno Haible  <bruno@clisp.org>
34930
34931         * modules/chdir-long (Depends-on): Add fchdir.
34932         * modules/chdir-safer (Depends-on): Likewise.
34933         * modules/fts (Depends-on): Likewise.
34934         * modules/fts-lgpl (Depends-on): Likewise.
34935         * modules/openat (Depends-on): Likewise.
34936         * modules/savewd (Depends-on): Likewise.
34937
34938 2007-05-24  Eric Blake  <ebb9@byu.net>
34939
34940         Fix lseek on mingw.
34941         * modules/lseek: New module.
34942         * m4/lseek.m4: New file.
34943         * lib/lseek.c: New file.
34944         * modules/lseek-tests: New file.
34945         * tests/test-lseek.c: New file.
34946         * tests/test-lseek.sh: New file.
34947         * MODULES.html.sh: Document lseek module.
34948         * modules/fflush (Depends-on): Add lseek, fseeko.
34949         * modules/fseeko (Depends-on): Likewise.
34950         * modules/ftello (Depends-on): Likewise.
34951         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
34952         broken.
34953         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
34954         broken.
34955         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
34956         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
34957         * lib/ftello.c (rpl_ftello): Likewise.
34958         * tests/test-fseeko.c (main): Test this.
34959         * tests/test-fseeko.sh: Likewise.
34960         * tests/test-ftello.c (main): Likewise.
34961         * tests/test-ftello.sh: Likewise.
34962         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
34963         implies replacing fseek.
34964         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
34965         HAVE_FTELLO.
34966         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
34967         * modules/unistd (Makefile.am): Likewise.
34968         * lib/unistd_.h (lseek): Declare a replacement.
34969         * doc/functions/lseek.texi (lseek): Document this fix.
34970         * doc/functions/fseek.texi (fseek): Likewise.
34971         * doc/functions/ftell.texi (ftell): Likewise.
34972
34973 2007-05-24  Bruno Haible  <bruno@clisp.org>
34974
34975         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
34976         in the printed representation of a NaN.
34977         * tests/test-vasprintf-posix.c (test_function): Likewise.
34978         * tests/test-snprintf-posix.h (test_function): Likewise.
34979         * tests/test-sprintf-posix.h (test_function): Likewise.
34980         Reported by Eric Blake.
34981
34982 2007-05-23  Eric Blake  <ebb9@byu.net>
34983
34984         Fix fseeko/ftello on cygwin 1.5.24.
34985         * doc/functions/fseeko.texi (fseeko): Document the fix.
34986         * doc/functions/ftello.texi (ftello): Document the fix.
34987         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
34988         * doc/functions/stdout.text (stdout): New file.
34989         * doc/functions/stderr.text (stderr): New file.
34990         * doc/gnulib.texi (Function Substitutes): Use new files.
34991         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
34992         prior to 1.7.0.
34993         * tests/test-ftello.c (main): Likewise for ftello.
34994         * tests/test-fseeko.sh: New file.
34995         * tests/test-ftello.sh: New file.
34996         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
34997         with seekable stdin.
34998         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
34999         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35000         (gl_REPLACE_FSEEKO): New macro.
35001         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35002         * modules/fseeko (Files): Distribute fseeko.c.
35003         * modules/ftello (Files): Distribute ftello.c.
35004         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35005         mode.
35006         * lib/ftello.c (rpl_ftello): New file.
35007         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35008         fseeko, ftello.
35009         (gl_STDIN_LARGE_OFFSET): New macro.
35010         * modules/stdio (Makefile.am): Perform the replacement.
35011         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35012
35013 2007-05-23  Bruno Haible  <bruno@clisp.org>
35014
35015         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35016         GNULIB_POSIXCHECK is defined.
35017
35018 2007-05-21  Bruno Haible  <bruno@clisp.org>
35019
35020         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35021         Check also the output for NaN arguments. When cross-compiling, guess
35022         no on IRIX.
35023         * lib/vasnprintf.c: Update comments.
35024         * tests/test-vasnprintf-posix.c (strisnan): New function.
35025         (test_function): Use it.
35026         * tests/test-vasprintf-posix.c (strisnan): New function.
35027         (test_function): Use it.
35028         * tests/test-snprintf-posix.h (strisnan): New function.
35029         (test_function): Use it.
35030         * tests/test-sprintf-posix.h (strisnan): New function.
35031         (test_function): Use it.
35032         Reported by Eric Blake.
35033
35034 2007-05-20  Bruno Haible  <bruno@clisp.org>
35035
35036         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35037         numbers that fails on BeOS.
35038         * doc/functions/frexpl.texi: Update.
35039
35040 2007-05-20  Jim Meyering  <jim@meyering.net>
35041
35042         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35043         forced upon us by glibc-2.6.
35044
35045 2007-05-20  Bruno Haible  <bruno@clisp.org>
35046
35047         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35048         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35049         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35050         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35051         NEED_PRINTF_INFINITE.
35052         (is_infinitel): New function.
35053         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35054         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35055         gl_PREREQ_VASNPRINTF_INFINITE.
35056         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35057         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35058         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35059         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35060         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35061         gl_PREREQ_VASNPRINTF_INFINITE.
35062         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35063         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35064         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35065         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35066         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35067         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35068         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35069         * doc/functions/fprintf.texi: Update.
35070         * doc/functions/printf.texi: Update.
35071         * doc/functions/snprintf.texi: Update.
35072         * doc/functions/sprintf.texi: Update.
35073         * doc/functions/vfprintf.texi: Update.
35074         * doc/functions/vprintf.texi: Update.
35075         * doc/functions/vsnprintf.texi: Update.
35076         * doc/functions/vsprintf.texi: Update.
35077
35078 2007-05-20  Bruno Haible  <bruno@clisp.org>
35079
35080         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35081         was not found in libc.
35082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35083
35084 2007-05-20  Bruno Haible  <bruno@clisp.org>
35085
35086         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35087         printed as "-nan" instead of "nan".
35088         * tests/test-vasprintf-posix.c (test_function): Likewise.
35089         * tests/test-snprintf-posix.h (test_function): Likewise.
35090         * tests/test-sprintf-posix.h (test_function): Likewise.
35091         Needed for HP-UX 11.
35092
35093 2007-05-20  Jim Meyering  <jim@meyering.net>
35094
35095         Fix buggy test for the fchownat-deref bug.
35096         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35097         symlink required for the run-test.  Without it, this test would
35098         always declare that fchownat doesn't work, and client code would
35099         unnecessarily use the replacement function with fixed libc.
35100         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35101         Reported by Greg Schafer.
35102
35103 2007-05-19  Bruno Haible  <bruno@clisp.org>
35104
35105         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35106         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35107         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35108         Needed for IRIX 6.5 and Solaris 2.5.1.
35109
35110 2007-05-19  Bruno Haible  <bruno@clisp.org>
35111
35112         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35113         (test_function): Skip tests involving -0.0 on platforms where
35114         -0.0 = 0.0.
35115         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35116         (test_function): Skip tests involving -0.0 on platforms where
35117         -0.0 = 0.0.
35118         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35119         (test_function): Skip tests involving -0.0 on platforms where
35120         -0.0 = 0.0.
35121         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35122         (test_function): Skip tests involving -0.0 on platforms where
35123         -0.0 = 0.0.
35124         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35125         tests.
35126         * tests/test-printf-posix.h (test_function): Likewise.
35127         * tests/test-printf-posix.output: Remove all -0.0 related results.
35128         Needed for IRIX 6.5.
35129
35130 2007-05-19  Bruno Haible  <bruno@clisp.org>
35131
35132         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35133         printed as "nan0x7fffffff" instead of "nan".
35134         * tests/test-vasprintf-posix.c (test_function): Likewise.
35135         * tests/test-snprintf-posix.h (test_function): Likewise.
35136         * tests/test-sprintf-posix.h (test_function): Likewise.
35137         * tests/test-fprintf-posix.h (NaN): Remove macro.
35138         (test_function): Remove all NaN related tests.
35139         * tests/test-printf-posix.h (NaN): Remove macro.
35140         (test_function): Remove all NaN related tests.
35141         * tests/test-printf-posix.output: Remove all NaN related results.
35142         Needed for IRIX 6.5.
35143
35144 2007-05-19  Bruno Haible  <bruno@clisp.org>
35145
35146         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35147         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35148
35149 2007-05-19  Bruno Haible  <bruno@clisp.org>
35150
35151         * lib/float_.h: New file.
35152         * m4/float_h.m4: New file.
35153         * modules/float: New file.
35154         * modules/isnanl (Dependencies): Add float.
35155         * modules/isnanl-nolibm (Dependencies): Likewise.
35156         * modules/mathl (Dependencies): Likewise.
35157         * modules/printf-frexpl (Dependencies): Likewise.
35158         * modules/signbit (Dependencies): Likewise.
35159         * modules/vasnprintf (Dependencies): Likewise.
35160         * doc/headers/float.texi: Update.
35161
35162 2007-05-19  Jim Meyering  <jim@meyering.net>
35163
35164         * lib/utimens.c (gl_futimens): Rename from futimens,
35165         now that glibc-2.6 declares futimens.
35166         * lib/utimens.h: Likewise.
35167
35168 2007-05-19  Bruno Haible  <bruno@clisp.org>
35169
35170         Avoid test failures on mingw.
35171         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
35172         * tests/test-printf-posix.sh: Likewise.
35173         * tests/test-vfprintf-posix.sh: Likewise.
35174         * tests/test-vprintf-posix.sh: Likewise.
35175
35176 2007-05-19  Bruno Haible  <bruno@clisp.org>
35177
35178         Fix *printf result for NaN, Inf, -0.0 on mingw.
35179         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
35180         * lib/vasnprintf.c: Include math.h and isnan.h.
35181         (is_infinite_or_zero): New function.
35182         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
35183         values in the %f, %F, %e, %E, %g, %G directives.
35184         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
35185         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35186         gl_PRINTF_INFINITE and test its result. Invoke
35187         gl_PREREQ_VASNPRINTF_INFINITE.
35188         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35189         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35190         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35191         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35192         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35193         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35194         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35195         * doc/functions/fprintf.texi: Update.
35196         * doc/functions/printf.texi: Update.
35197         * doc/functions/snprintf.texi: Update.
35198         * doc/functions/sprintf.texi: Update.
35199         * doc/functions/vfprintf.texi: Update.
35200         * doc/functions/vprintf.texi: Update.
35201         * doc/functions/vsnprintf.texi: Update.
35202         * doc/functions/vsprintf.texi: Update.
35203
35204 2007-05-19  Bruno Haible  <bruno@clisp.org>
35205
35206         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35207         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35208         Instead of multiplying with 10^k, set extra_zeroes to k.
35209         (scale10_round_long_double): Remove function.
35210
35211 2007-05-18  Bruno Haible  <bruno@clisp.org>
35212
35213         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35214         introduced on 2007-05-06.
35215
35216 2007-05-18  Bruno Haible  <bruno@clisp.org>
35217
35218         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35219         %g directives.
35220         * tests/test-vasprintf-posix.c (test_function): Likewise.
35221         * tests/test-snprintf-posix.h (test_function): Likewise.
35222         * tests/test-sprintf-posix.h (test_function): Likewise.
35223
35224 2007-05-18  Bruno Haible  <bruno@clisp.org>
35225
35226         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35227         (strmatch): New function.
35228         (test_function): Test the %f directive on numbers of various exponents.
35229         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35230         (strmatch): New function.
35231         (test_function): Test the %f directive on numbers of various exponents.
35232         * tests/test-snprintf-posix.h (strmatch): New function.
35233         (test_function): Test the %f directive on numbers of various exponents.
35234         * tests/test-sprintf-posix.h (strmatch): New function.
35235         (test_function): Test the %f directive on numbers of various exponents.
35236         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35237         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35238         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35239         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35240
35241 2007-05-18  Bruno Haible  <bruno@clisp.org>
35242
35243         Add support for 'long double' number output.
35244         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35245         * lib/vasnprintf.c: Include math.h and float+.h.
35246         (mp_limb_t): New type.
35247         (GMP_LIMB_BITS): New macro.
35248         (mp_twolimb_t): New type.
35249         (GMP_TWOLIMB_BITS): New macro.
35250         (mpn_t): New type.
35251         (multiply, divide, convert_to_decimal, decode_long_double,
35252         scale10_round_long_double, scale10_round_decimal_long_double,
35253         floorlog10l): New functions.
35254         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35255         for the %f, %F, %e, %E, %g, %G directives.
35256         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35257         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35258         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35259         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35260         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35261         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35262         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35263         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35264         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35265         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35266         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35267         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35268         * modules/snprintf-posix (Depends-on): Likewise.
35269         * modules/sprintf-posix (Depends-on): Likewise.
35270         * modules/vasnprintf-posix (Depends-on): Likewise.
35271         * modules/vasprintf-posix (Depends-on): Likewise.
35272         * modules/vfprintf-posix (Depends-on): Likewise.
35273         * modules/vsnprintf-posix (Depends-on): Likewise.
35274         * modules/vsprintf-posix (Depends-on): Likewise.
35275         * modules/vasnprintf (Files): Add lib/float+.h.
35276         * doc/functions/fprintf.texi: Update.
35277         * doc/functions/printf.texi: Update.
35278         * doc/functions/snprintf.texi: Update.
35279         * doc/functions/sprintf.texi: Update.
35280         * doc/functions/vfprintf.texi: Update.
35281         * doc/functions/vprintf.texi: Update.
35282         * doc/functions/vsnprintf.texi: Update.
35283         * doc/functions/vsprintf.texi: Update.
35284
35285 2007-05-18  Bruno Haible  <bruno@clisp.org>
35286
35287         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35288
35289 2007-05-18  Bruno Haible  <bruno@clisp.org>
35290
35291         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35292         for printing 64-bit integers. Needed for mingw.
35293
35294 2007-05-18  Bruno Haible  <bruno@clisp.org>
35295
35296         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35297         gl_FUNC_FREXPL_WORKS.
35298         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35299
35300 2007-05-18  Bruno Haible  <bruno@clisp.org>
35301
35302         * modules/frexpl-nolibm-tests: New file.
35303
35304         * modules/frexpl-nolibm: New file.
35305         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35306
35307 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35308
35309         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35310         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35311         GCC 4.2, which otherwise issues a lot of warnings.
35312         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35313         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35314         Likewise.
35315         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35316         * modules/iconv_open (iconv.h): Likewise.
35317         * modules/locale (locale.h): Likewise.
35318         * modules/netinet_in (netinet/in.h): Likewise.
35319         * modules/sys_select (sys_select.h): Likewise.
35320         * modules/sys_socket (sys/socket.h): Likewise.
35321         * modules/sys_stat (sys/stat.h): Likewise.
35322         * modules/sysexits (sysexits.h): Likewise.
35323         * modules/unistd (unistd.h): Likewise.
35324
35325 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35326
35327         * modules/closein-tests (Makefile.am): Distribute
35328         `test-closein.sh'.
35329
35330 2007-05-17  Bruno Haible  <bruno@clisp.org>
35331
35332         * tests/test-printf-posix.output: Renamed from
35333         tests/test-fprintf-posix.out.
35334         * modules/fprintf-posix-tests: Update.
35335         * modules/printf-posix-tests: Update.
35336         * modules/vfprintf-posix-tests: Update.
35337         * modules/vprintf-posix-tests: Update.
35338         * tests/test-fprintf-posix.sh: Update.
35339         * tests/test-printf-posix.sh: Update.
35340         * tests/test-vfprintf-posix.sh: Update.
35341         * tests/test-vprintf-posix.sh: Update.
35342         Reported by Ralf Wildenhues.
35343
35344 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35345
35346         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35347         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35348         GCC 4.2, which otherwise issues a lot of warnings.
35349         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35350         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35351         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35352         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35353         it should no longer be needed.
35354         * lib/string_.h: Likewise.
35355         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35356         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35357         * modules/inttypes (inttypes.h): Likewise.
35358         * modules/math (math.h): Likewise.
35359         * modules/search (search.h): Likewise.
35360         * modules/signal (signal.h): Likewise.
35361         * modules/stdint (stdint.h): Likewise.
35362         * modules/stdio (stdio.h): Likewise.
35363         * modules/stdlib (stdlib.h): Likewise.
35364         * modules/string (string.h): Likewise.
35365         * modules/sys_time (sys/time.h): Likewise.
35366         * modules/time (time.h): Likewise.
35367         * modules/wchar (wchar.h): Likewise.
35368         * modules/wctype (wtype.h): Likewise.
35369
35370 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35371
35372         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35373
35374 2007-05-13  Bruno Haible  <bruno@clisp.org>
35375
35376         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35377         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35378         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35379         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35380         (gl_PREREQ_STRTOK_R): Don't require it here.
35381
35382 2007-05-13  Bruno Haible  <bruno@clisp.org>
35383
35384         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35385         when used in C++ mode.
35386
35387 2007-05-12  Bruno Haible  <bruno@clisp.org>
35388
35389         * lib/linebuffer.h: Tweak doc.
35390         * lib/linebuffer.c: Likewise.
35391
35392 2007-05-12  James Youngman  <jay@gnu.org>
35393
35394         * lib/linebuffer.c (readlinebuffer_delim): New function,
35395         like readlinebuffer, but use a caller-specified delimiter.
35396         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35397         as the delimiter.
35398         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35399
35400 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35401
35402         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35403         * modules/openat (Files): Remove openat-die.c.
35404         (Depends-on): Add openat-die.
35405         * modules/openat-die: New module.
35406
35407 2007-05-06  Bruno Haible  <bruno@clisp.org>
35408
35409         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35410         Update with info about Cygwin.
35411         * doc/functions/fprintf.texi: Update.
35412         * doc/functions/printf.texi: Update.
35413         * doc/functions/snprintf.texi: Update.
35414         * doc/functions/sprintf.texi: Update.
35415         * doc/functions/vfprintf.texi: Update.
35416         * doc/functions/vprintf.texi: Update.
35417         * doc/functions/vsnprintf.texi: Update.
35418         * doc/functions/vsprintf.texi: Update.
35419         Reported by Eric Blake.
35420
35421 2007-05-06  Bruno Haible  <bruno@clisp.org>
35422
35423         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35424         padding ourselves for the floating-point directives.
35425         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35426         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35427         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35428         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35429         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35430         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35431         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35432         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35433         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35434         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35435         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35436         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35437         * tests/test-snprintf-posix.h (test_function): Also check the width
35438         and some flags in the %f directive.
35439         * tests/test-sprintf-posix.h (test_function): Likewise.
35440         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35441         * tests/test-vasprintf-posix.c (test_function): Likewise.
35442         * doc/functions/fprintf.texi: Update.
35443         * doc/functions/printf.texi: Update.
35444         * doc/functions/snprintf.texi: Update.
35445         * doc/functions/sprintf.texi: Update.
35446         * doc/functions/vfprintf.texi: Update.
35447         * doc/functions/vprintf.texi: Update.
35448         * doc/functions/vsnprintf.texi: Update.
35449         * doc/functions/vsprintf.texi: Update.
35450
35451 2007-05-06  Bruno Haible  <bruno@clisp.org>
35452
35453         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35454         pass the ' flag character to sprintf or snprintf.
35455         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35457         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35458         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35459         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35460         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35461         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35462         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35463         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35464         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35465         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35466         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35467         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35468         flag.
35469         * tests/test-sprintf-posix.h (test_function): Likewise.
35470         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35471         * tests/test-vasprintf-posix.c (test_function): Likewise.
35472         * doc/functions/fprintf.texi: Update.
35473         * doc/functions/printf.texi: Update.
35474         * doc/functions/snprintf.texi: Update.
35475         * doc/functions/sprintf.texi: Update.
35476         * doc/functions/vfprintf.texi: Update.
35477         * doc/functions/vprintf.texi: Update.
35478         * doc/functions/vsnprintf.texi: Update.
35479         * doc/functions/vsprintf.texi: Update.
35480
35481 2007-05-01  Bruno Haible  <bruno@clisp.org>
35482
35483         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35484
35485 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35486
35487         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35488         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35489
35490 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35491
35492         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35493         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35494         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35495
35496 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35497
35498         * lib/argp-help.c (struct hol_entry): New member `ord'.
35499         (HOL_ENTRY_PTRCMP): Use ord for comparison
35500         (hol_sort): Initialize ord.
35501
35502 2007-05-01  Bruno Haible  <bruno@clisp.org>
35503
35504         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35505         Reported by Eric Blake.
35506         * doc/gnulib.texi (Function Substitutes): Update.
35507
35508 2007-05-01  Bruno Haible  <bruno@clisp.org>
35509
35510         * doc/functions.texi: Remove file, now redundant through
35511         doc/functions/*.texi.
35512
35513 2007-05-01  Bruno Haible  <bruno@clisp.org>
35514
35515         * modules/argp (Depends-on): Add sleep.
35516
35517 2007-05-01  Bruno Haible  <bruno@clisp.org>
35518
35519         * modules/sleep-tests: New file.
35520         * tests/test-sleep.c: New file.
35521
35522         * modules/sleep: New file.
35523         * lib/sleep.c: New file.
35524         * m4/sleep.m4: New file.
35525         * lib/unistd_.h (sleep): New declaration.
35526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35527         HAVE_SLEEP.
35528         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35529         * doc/functions/sleep.texi: Document the sleep module.
35530
35531 2007-05-01  Bruno Haible  <bruno@clisp.org>
35532
35533         * lib/sigprocmask.h: Remove file.
35534         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35535         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35536         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35537         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35538         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35539         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35540         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35541         HAVE_SIGSET_T as a shell variable.
35542         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35543         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35544         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35545         (Depends-on): Add signal. Remove verify.
35546         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35547         (Include): Mention <signal.h> instead of sigprocmask.h.
35548         * NEWS: Mention the change.
35549         * lib/fatal-signal.c: Don't include sigprocmask.h.
35550
35551 2007-05-01  Bruno Haible  <bruno@clisp.org>
35552
35553         * modules/signal: New file.
35554         * lib/signal_.h: New file.
35555         * m4/signal_h.m4: New file.
35556
35557 2007-05-01  Bruno Haible  <bruno@clisp.org>
35558
35559         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35560         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35561         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35562         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35563
35564 2007-05-01  Bruno Haible  <bruno@clisp.org>
35565
35566         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35567         configure time.
35568         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35569         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35570         * modules/sys_stat (Makefile.am): Substitute their values into
35571         sys/stat.h.
35572
35573 2007-05-01  Bruno Haible  <bruno@clisp.org>
35574
35575         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35576         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35577         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35578
35579 2007-05-01  Bruno Haible  <bruno@clisp.org>
35580
35581         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35582         'assert' module here.
35583
35584 2007-05-01  Bruno Haible  <bruno@clisp.org>
35585
35586         * doc/functions/*.texi: New files.
35587         * doc/functions/google-ranking.txt: New file.
35588         * doc/gnulib.texi (Function Substitutes): New chapter.
35589         (ctime, inet_ntoa): Remove sections.
35590         * doc/ctime.texi: Remove file.
35591         * doc/inet_ntoa.texi: Remove file.
35592         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35593         dependencies.
35594         (%.info): New rule, specifying a --reference-limit.
35595
35596 2007-05-01  Bruno Haible  <bruno@clisp.org>
35597
35598         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35599
35600 2007-05-01  Bruno Haible  <bruno@clisp.org>
35601
35602         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35603         the portability of 'mkdir' to mingw systems.
35604
35605 2007-05-01  Bruno Haible  <bruno@clisp.org>
35606
35607         * doc/headers/google-ranking.txt: New file.
35608
35609 2007-04-30  Eric Blake  <ebb9@byu.net>
35610
35611         Prefer fseeko to fseek.
35612         * modules/getpass (Depends-on): Add fseeko.
35613         * lib/getpass.c (getpass): Use fseeko, not fseek.
35614
35615 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35616
35617         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35618         assumes the sorting is stable, while most qsort implementations
35619         are not.  Use argument addresses to ensure they never compare as
35620         equal.
35621
35622         * tests/test-argp-2.sh (usage-indent test): Fix output
35623         (func_compare): Restore diff options
35624         * tests/test-argp.c: Restore #include "progname.h"
35625
35626 2007-04-29  Bruno Haible  <bruno@clisp.org>
35627
35628         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35629         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35630         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35631         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35632         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35633         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35634         (TESTS, check_PROGRAMS): Add test-snprintf.
35635         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35636         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35637         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35638         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
35639         assertions that fail on HP-UX, OSF/1, or IRIX.
35640         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
35641
35642 2007-04-29  Bruno Haible  <bruno@clisp.org>
35643
35644         * MODULES.html.sh (posix_functions): Remove 'contents'.
35645
35646 2007-04-29  Karl Berry  <karl@gnu.org>
35647
35648         * config/srclist.txt (gendocs_template_min): new entry.
35649
35650 2007-04-29  Bruno Haible  <bruno@clisp.org>
35651
35652         Work around fpurge bug on BSD systems.
35653         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
35654         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
35655         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
35656         fpurge to rpl_fpurge if the system already has this function.
35657         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
35658         the case where the system already has this function. Correct invariants
35659         on BSD systems.
35660         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
35661         BSD systems.
35662
35663 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35664
35665         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
35666         proposed by Sven Verdoolaege.
35667
35668         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
35669         options.
35670         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
35671         (usage and help tests): Update
35672
35673 2007-04-29  Bruno Haible  <bruno@clisp.org>
35674
35675         * tests/test-fflush.c (main): Use a file of size 17, not 10.
35676         Print more information in case of failure. Disable a test on BeOS.
35677
35678 2007-04-29  Bruno Haible  <bruno@clisp.org>
35679
35680         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
35681         This helps debugging on systems on which no gdb is available.
35682
35683 2007-04-29  Bruno Haible  <bruno@clisp.org>
35684
35685         * lib/freading.h: Improve comments.
35686         * lib/fwriting.h: Likewise.
35687         * tests/test-freading.c (main): Don't check freading immediately after
35688         repositioning. Needed for glibc.
35689
35690 2007-04-29  Bruno Haible  <bruno@clisp.org>
35691
35692         * lib/freading.c (freading): Trivial simplification.
35693
35694 2007-04-28  Bruno Haible  <bruno@clisp.org>
35695
35696         * tests/test-fwriting.c (main): Also test the interaction between
35697         fflush and fwriting.
35698         * modules/fwriting-tests (Depends-on): Add fflush.
35699
35700         * tests/test-freading.c (main): Also test the interaction between
35701         fflush and freading.
35702         * modules/freading-tests (Depends-on): Add fflush.
35703
35704 2007-04-28  Bruno Haible  <bruno@clisp.org>
35705
35706         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
35707         fseeko and ftello.
35708         Suggested by Eric Blake.
35709
35710 2007-04-28  Jim Meyering  <jim@meyering.net>
35711
35712         Avoid false-negative in gl_STDINT_H's C99 conformance test.
35713         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
35714         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
35715
35716 2007-04-27  Eric Blake  <ebb9@byu.net>
35717
35718         * doc/headers/assert.texi (assert.h): Document assert module use.
35719
35720 2007-04-27  Bruno Haible  <bruno@clisp.org>
35721
35722         * doc/headers/*.texi: New files.
35723         * doc/gnulib.texi (Header File Substitutes): New chapter.
35724         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
35725         dependencies.
35726         (standards.info ,standards.html, standards.dvi): Update dependencies.
35727         (mostlyclean, clean): New targets.
35728
35729 2007-04-27  Bruno Haible  <bruno@clisp.org>
35730
35731         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
35732         * modules/sysexits (Files, Makefile.am): Update.
35733
35734         * lib/sys_socket_.h: Renamed from lib/socket_.h.
35735         * modules/sys_socket (Files, Makefile.am): Update.
35736
35737         * lib/sys_stat_.h: Renamed from lib/stat_.h.
35738         * modules/sys_stat (Files, Makefile.am): Update.
35739
35740 2007-04-27  Eric Blake  <ebb9@byu.net>
35741
35742         * lib/freading.h: Improve comments.
35743         * lib/fwriting.h: Likewise.
35744         * lib/fflush.c: Likewise.
35745
35746         Fix closein for mingw.
35747         * modules/closein-tests: Add tests for closein.
35748         * tests/test-closein.c: New file.
35749         * tests/test-closein.sh: Likewise.
35750         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
35751         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
35752
35753 2007-04-27  Bruno Haible  <bruno@clisp.org>
35754
35755         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
35756         version is < 6.
35757         * lib/math_.h [__DECC]: Likewise.
35758         * lib/stdio_.h [__DECC]: Likewise.
35759         * lib/stdlib_.h [__DECC]: Likewise.
35760         * lib/string_.h [__DECC]: Likewise.
35761         * lib/time_.h [__DECC]: Likewise.
35762         * lib/wchar_.h [__DECC]: Likewise.
35763         * lib/wctype_.h [__DECC]: Likewise.
35764
35765 2007-04-27  Bruno Haible  <bruno@clisp.org>
35766
35767         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
35768
35769 2007-04-27  Bruno Haible  <bruno@clisp.org>
35770
35771         * lib/fflush.c: Add comments.
35772         * modules/fpurge-tests (Depends-on): Add fflush.
35773         * modules/freadable-tests (Depends-on): Likewise.
35774         * modules/fwritable-tests (Depends-on): Likewise.
35775
35776 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
35777
35778         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
35779         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
35780         Report by Bruno Haible <bruno@clisp.org>.
35781
35782 2007-04-26  Eric Blake  <ebb9@byu.net>
35783
35784         Fix fflush on mingw.
35785         * modules/fflush (Depends-on): Add freading.
35786         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
35787         but unread data.
35788
35789 2007-04-26  Eric Blake  <ebb9@byu.net>
35790         and Bruno Haible  <bruno@clisp.org>
35791
35792         Implement freading and fwriting.
35793         * lib/freading.c: New file.
35794         * lib/freading.h: Likewise.
35795         * m4/freading.m4: Likewise.
35796         * modules/freading: Likewise.
35797         * modules/freading-tests: Likewise.
35798         * tests/test-freading.c: Likewise.
35799         * lib/fwriting.c: New file.
35800         * lib/fwriting.h: Likewise.
35801         * m4/fwriting.m4: Likewise.
35802         * modules/fwriting: Likewise.
35803         * modules/fwriting-tests: Likewise.
35804         * tests/test-fwriting.c: Likewise.
35805         * MODULES.html.sh (File stream based Input/Output): Mention them.
35806
35807 2007-04-26  Bruno Haible  <bruno@clisp.org>
35808
35809         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
35810         'long' when we assume it.
35811         Suggested by Eric Blake.
35812
35813 2007-04-26  Bruno Haible  <bruno@clisp.org>
35814
35815         Ensure fseeko, ftello are declared on glibc systems.
35816         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
35817         * modules/fseeko (configure.ac-early): Likewise.
35818         * modules/ftello (configure.ac-early): Likewise.
35819         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
35820         AC_FUNC_FSEEKO for this.
35821         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
35822         (gl_CHECK_FSEEKO): Remove macro.
35823
35824 2007-04-26  Bruno Haible  <bruno@clisp.org>
35825
35826         * tests/test-fflush.c (main): Also check the ftell result after
35827         fflush and fseek/fseeko.
35828         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
35829         file descriptor position cache in the stream.
35830         * lib/fseeko.c (rpl_fseeko): Likewise.
35831
35832 2007-04-26  Bruno Haible  <bruno@clisp.org>
35833
35834         * modules/fflush-tests (Depends-on): Add fseeko.
35835
35836 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
35837             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35838
35839         * lib/argz_.h: ensure error_t definition is obtained in same
35840         mechanism system argz.h would have.
35841         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
35842         argz facilities are known bad.  Err on the side of caution if
35843         cross-compiling.
35844
35845 2007-04-25  Eric Blake  <ebb9@byu.net>
35846
35847         * lib/fpurge.c (includes): Use stdlib.h for free.
35848         * tests/test-fflush.c (main): Also test fflush-fseeko.
35849
35850 2007-04-25  Bruno Haible  <bruno@clisp.org>
35851
35852         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
35853         * lib/fseeko.c: New file.
35854         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
35855         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
35856         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
35857         gl_FUNC_FSEEKO.
35858         (gl_FUNC_FSEEKO): Invoke it.
35859         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
35860         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
35861         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
35862
35863 2007-04-25  Bruno Haible  <bruno@clisp.org>
35864
35865         * modules/fflush (Depends-on): Add ftello.
35866
35867 2007-04-25  Bruno Haible  <bruno@clisp.org>
35868
35869         * modules/ftello-tests: New file.
35870         * tests/test-ftello.c: New file.
35871
35872         * modules/ftello: New file.
35873         * m4/ftello.m4: New file.
35874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
35875         HAVE_FTELLO.
35876         * lib/stdio_.h (ftello): New declaration.
35877         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
35878         HAVE_FTELLO.
35879
35880 2007-04-25  Bruno Haible  <bruno@clisp.org>
35881
35882         * modules/fseeko-tests: New file.
35883         * tests/test-fseeko.c: New file.
35884
35885         * modules/fseeko: New file.
35886         * m4/fseeko.m4: New file.
35887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
35888         HAVE_FSEEKO.
35889         * lib/stdio_.h (fseeko): New declaration.
35890         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
35891         HAVE_FSEEKO.
35892
35893 2007-04-25  Bruno Haible  <bruno@clisp.org>
35894
35895         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
35896
35897 2007-04-25  Bruno Haible  <bruno@clisp.org>
35898
35899         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
35900         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
35901         * tests/test-unistd.c: Likewise.
35902         * tests/test-fcntl.c: Likewise.
35903
35904 2007-04-23  Eric Blake  <ebb9@byu.net>
35905
35906         * lib/fflush.c: Fix missing include.
35907         Reported by Bruno Haible.
35908
35909 2007-04-23  Bruno Haible  <bruno@clisp.org>
35910
35911         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
35912         Reported by Eric Blake.
35913
35914 2007-04-23  Bruno Haible  <bruno@clisp.org>
35915
35916         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
35917
35918 2007-04-23  Bruno Haible  <bruno@clisp.org>
35919
35920         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
35921
35922 2007-04-23  Bruno Haible  <bruno@clisp.org>
35923
35924         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
35925         Needed on HP-UX 11.
35926
35927 2007-04-16  Eric Blake  <ebb9@byu.net>
35928
35929         Make fflush rely on fpurge.
35930         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
35931         open coding all variants.
35932         * modules/fflush (Depends-on): Add fpurge and unistd.
35933         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
35934         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
35935
35936         Fix --with-tests compilation on cygwin.
35937         * modules/argmatch-tests (Makefile.am): List gnulib library first
35938         in LDADD.
35939         * modules/argp-tests (Makefile.am): Likewise.
35940         * modules/array-list-tests (Makefile.am): Likewise.
35941         * modules/array-oset-tests (Makefile.am): Likewise.
35942         * modules/avltree-list-tests (Makefile.am): Likewise.
35943         * modules/avltree-oset-tests (Makefile.am): Likewise.
35944         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35945         * modules/carray-list-tests (Makefile.am): Likewise.
35946         * modules/dirname-tests (Makefile.am): Likewise.
35947         * modules/frexp-tests (Makefile.am): Likewise.
35948         * modules/isnanl-tests (Makefile.am): Likewise.
35949         * modules/linked-list-tests (Makefile.am): Likewise.
35950         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35951         * modules/lock-tests (Makefile.am): Likewise.
35952         * modules/rbtree-list-tests (Makefile.am): Likewise.
35953         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35954         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35955         * modules/tls-tests (Makefile.am): Likewise.
35956         * modules/tsearch-tests (Makefile.am): Likewise.
35957         * modules/xvasprintf-tests (Makefile.am): Likewise.
35958
35959         Fix fpurge for cygwin.
35960         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
35961         value.
35962         * modules/fpurge-tests (Depends-on): Clean up trash.
35963
35964 2007-04-16  Simon Josefsson  <simon@josefsson.org>
35965
35966         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
35967
35968         * m4/autobuild.m4: Re-indent.
35969
35970 2007-04-13  Bruno Haible  <bruno@clisp.org>
35971
35972         * modules/fpurge-tests: New file.
35973         * tests/test-fpurge.c: New file.
35974
35975         * modules/fpurge: New file.
35976         * lib/fpurge.h: New file.
35977         * lib/fpurge.c: New file.
35978         * m4/fpurge.m4: New file.
35979
35980 2007-04-13  Bruno Haible  <bruno@clisp.org>
35981
35982         * modules/fbufmode-tests: New file.
35983         * tests/test-fbufmode.c: New file.
35984
35985         * modules/fbufmode: New file.
35986         * lib/fbufmode.h: New file.
35987         * lib/fbufmode.c: New file.
35988         * m4/fbufmode.m4: New file.
35989
35990 2007-04-13  Bruno Haible  <bruno@clisp.org>
35991
35992         * modules/fwritable-tests: New file.
35993         * tests/test-fwritable.c: New file.
35994
35995         * modules/fwritable: New file.
35996         * lib/fwritable.h: New file.
35997         * lib/fwritable.c: New file.
35998         * m4/fwritable.m4: New file.
35999
36000 2007-04-13  Bruno Haible  <bruno@clisp.org>
36001
36002         * modules/freadable-tests: New file.
36003         * tests/test-freadable.c: New file.
36004
36005         * modules/freadable: New file.
36006         * lib/freadable.h: New file.
36007         * lib/freadable.c: New file.
36008         * m4/freadable.m4: New file.
36009
36010 2007-04-13  Bruno Haible  <bruno@clisp.org>
36011
36012         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36013         MOSTLYCLEANFILES.
36014
36015 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36016
36017         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36018         gzip bootstrap.conf to avoid dragging in i18n machinery.
36019         (gnulib_tool_option): Use it.
36020
36021 2007-04-13  Bruno Haible  <bruno@clisp.org>
36022
36023         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36024         %F directives.
36025         * tests/test-vasprintf-posix.c (test_function): Likewise.
36026         * tests/test-snprintf-posix.h (test_function): Likewise.
36027         * tests/test-sprintf-posix.h (test_function): Likewise.
36028         * tests/test-fprintf-posix.h (test_function): Likewise.
36029         * tests/test-printf-posix.h (test_function): Likewise.
36030         * tests/test-fprintf-posix.out: Likewise.
36031
36032 2007-04-13  Bruno Haible  <bruno@clisp.org>
36033
36034         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36035         * modules/tls-tests (configure.ac): Likewise.
36036         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36037
36038 2007-04-13  Bruno Haible  <bruno@clisp.org>
36039
36040         * lib/tls.c (glthread_tls_get): Fix return type.
36041         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36042
36043 2007-04-12  Eric Blake  <ebb9@byu.net>
36044
36045         * modules/gettime (Depends-on): Remove gettime.
36046         Reported by Dmitry V. Levin.
36047
36048 2007-04-12  Bruno Haible  <bruno@clisp.org>
36049
36050         * modules/fflush (Include): Mention <stdio.h>.
36051         * modules/strtoimax (Include): Mention <inttypes.h>.
36052         * modules/strtoumax (Include): Likewise.
36053
36054 2007-04-12  Eric Blake  <ebb9@byu.net>
36055
36056         * .cvsignore: New file.
36057         * .gitignore: Likewise.
36058
36059 2007-04-12  Bruno Haible  <bruno@clisp.org>
36060
36061         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36062         not before, since $(LDADD) often contains libgnu.a.
36063         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36064         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36065         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36066         Needed on Cygwin.
36067
36068 2007-04-12  Eric Blake  <ebb9@byu.net>
36069
36070         Work around glibc's failure to flush stdin on fclose.
36071         * lib/closein.c (close_stdin): Flush stdin before closing.
36072
36073         Work around glibc's failure to reset seekable stdin on exit.
36074         * modules/closein: New module.
36075         * lib/closein.c: New file.
36076         * lib/closein.h: Likewise.
36077         * m4/closein.m4: Likewise.
36078         * MODULES.html.sh (File stream based Input/Output): Document it.
36079
36080 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36081
36082         * gnulib-tool: Rename generated 'autobuild' script to
36083         'do-autobuild' in --create-megatestdir output.
36084
36085         * doc/gnulib.texi (Build robot for gnulib): Fix.
36086
36087 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36088
36089         * modules/sysexits (Depends-on): Add absolute-header.
36090
36091 2007-04-12  Eric Blake  <ebb9@byu.net>
36092
36093         No need to preserve errno on success.
36094         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36095         Reported by Bruno Haible.
36096
36097 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36098
36099         * MODULES.html.sh (Support for maintaining and releasing
36100         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36101
36102 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36103
36104         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36105
36106 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36107
36108         * modules/autobuild: New module.
36109
36110         * m4/autobuild.m4: New file.
36111
36112 2007-04-11  Bruno Haible  <bruno@clisp.org>
36113
36114         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36115         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36116         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36117         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36118         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36119         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36120         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36121         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36122         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36123         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36124         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36125         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36126         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36127         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36128         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36129         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36130         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36131         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36132         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36133         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36134         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36135         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36136         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36137         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36138         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36139         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36140         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36141         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36142         Reported by Eric Blake.
36143
36144 2007-04-11  Bruno Haible  <bruno@clisp.org>
36145
36146         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36147
36148 2007-04-10  Bruno Haible  <bruno@clisp.org>
36149
36150         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36151         for NaN and Infinity. Needed on FreeBSD 6.1.
36152         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36153         regarding results for "%010a" of Infinity and NaN.
36154         * tests/test-vasprintf-posix.c (test_function): Likewise.
36155         * tests/test-snprintf-posix.h (test_function): Likewise.
36156         * tests/test-sprintf-posix.h (test_function): Likewise.
36157         * tests/test-fprintf-posix.h (test_function): Likewise.
36158         * tests/test-printf-posix.h (test_function): Likewise.
36159         * tests/test-fprintf-posix.out: Likewise.
36160
36161 2007-04-10  Bruno Haible  <bruno@clisp.org>
36162
36163         * modules/locale-tests: New file.
36164         * tests/test-locale.c: New file.
36165
36166         * modules/locale: New file.
36167         * lib/locale_.h: New file.
36168         * m4/locale_h.m4: New file.
36169
36170 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
36171             Bruno Haible  <bruno@clisp.org>
36172
36173         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
36174         be determined, test for availability of the copysignf, copysign,
36175         copysignl functions.
36176         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
36177         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
36178         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
36179
36180 2007-04-09  Eric Blake  <ebb9@byu.net>
36181
36182         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
36183         * modules/stdio (Makefile.am): Support fflush.
36184         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36185         * modules/fflush: New file.
36186         * lib/fflush.c: Likewise.
36187         * m4/fflush.m4: Likewise.
36188         * modules/fflush-tests: New test.
36189         * tests/test-fflush.c: Likewise.
36190         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36191
36192 2007-04-06  Bruno Haible  <bruno@clisp.org>
36193
36194         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36195         (VASNPRINTF): Use signbit for faster determination whether to print a
36196         minus sign.
36197         * modules/vasnprintf (Files): Remove lib/float+.h.
36198         * modules/fprintf-posix (Depends-on): Add signbit.
36199         * modules/snprintf-posix (Depends-on): Likewise.
36200         * modules/sprintf-posix (Depends-on): Likewise.
36201         * modules/vasnprintf-posix (Depends-on): Likewise.
36202         * modules/vasprintf-posix (Depends-on): Likewise.
36203         * modules/vfprintf-posix (Depends-on): Likewise.
36204         * modules/vsnprintf-posix (Depends-on): Likewise.
36205         * modules/vsprintf-posix (Depends-on): Likewise.
36206
36207 2007-04-06  Bruno Haible  <bruno@clisp.org>
36208
36209         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36210         * tests/test-frexpl.c (main): Likewise.
36211         * tests/test-ldexpl.c (main): Likewise.
36212         * modules/frexp-tests (Depends-on): Add signbit.
36213         * modules/frexpl-tests (Depdends-on): Likewise.
36214         * modules/ldexpl-tests (Depdends-on): Likewise.
36215
36216 2007-04-06  Bruno Haible  <bruno@clisp.org>
36217
36218         * modules/signbit-tests: New file.
36219         * tests/test-signbit.c: New file.
36220
36221         * modules/signbit: New file.
36222         * lib/signbitf.c: New file.
36223         * lib/signbitd.c: New file.
36224         * lib/signbitl.c: New file.
36225         * m4/signbit.m4: New file.
36226         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36227         (signbit): New macro.
36228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36229         REPLACE_SIGNBIT.
36230         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36231         REPLACE_FREXPL into math.h.
36232
36233 2007-04-06  Bruno Haible  <bruno@clisp.org>
36234
36235         * modules/isnanf-nolibm-tests: New file.
36236         * tests/test-isnanf.c: New file.
36237
36238         * modules/isnanf-nolibm: New file.
36239         * lib/isnanf.h: New file.
36240         * lib/isnanf.c: New file.
36241         * lib/isnan.c: Consider the USE_FLOAT macro.
36242         * m4/isnanf.m4: New file.
36243
36244 2007-04-06  Bruno Haible  <bruno@clisp.org>
36245
36246         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36247         (Link): New section.
36248
36249         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36250
36251 2007-04-06  Bruno Haible  <bruno@clisp.org>
36252
36253         Assume the 'long double' type.
36254         * m4/longdouble.m4: Remove file.
36255         * config/srclist.txt: Don't mention longdouble.m4.
36256         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36257         * lib/float+.h: Likewise.
36258         * lib/frexp.c: Likewise.
36259         * lib/printf-args.h: Likewise.
36260         * lib/printf-args.c: Likewise.
36261         * lib/printf-frexp.c: Likewise.
36262         * lib/printf-parse.c: Likewise.
36263         * lib/vasnprintf.c: Likewise.
36264         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36265         * m4/intl.m4: Likewise.
36266         * m4/isnanl.m4: Likewise.
36267         * m4/printf.m4: Likewise.
36268         * m4/printf-frexpl.m4: Likewise.
36269         * m4/vasnprintf.m4: Likewise.
36270         * modules/allocsa (Files): Remove m4/longdouble.m4.
36271         * modules/gettext (Files): Likewise.
36272         * modules/relocatable-prog-wrapper (Files): Likewise.
36273         * modules/vasnprintf (Files): Likewise.
36274         * modules/isnanl (Files): Likewise.
36275         (Include): Simplify.
36276         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36277         (Include): Simplify.
36278         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36279         (Include): Simplify.
36280         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36281         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36282         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36283         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36284         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36285         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36286         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36287         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36288         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36289         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36290         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36291         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36292         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36293         * tests/test-isnanl.c: Likewise.
36294         * tests/test-snprintf-posix.h: Likewise.
36295         * tests/test-sprintf-posix.h: Likewise.
36296         * tests/test-vasnprintf-posix.c: Likewise.
36297         * tests/test-vasnprintf-posix2.c: Likewise.
36298         * tests/test-vasprintf-posix.c: Likewise.
36299
36300 2007-04-06  Bruno Haible  <bruno@clisp.org>
36301
36302         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36303         * lib/math_.h [__DECC]: Include the overridden include file through
36304         #include_next, outside the double-inclusion guard.
36305         * lib/stdio_.h [__DECC]: Likewise.
36306         * lib/stdlib_.h [__DECC]: Likewise.
36307         * lib/string_.h [__DECC]: Likewise.
36308         * lib/time_.h [__DECC]: Likewise.
36309         * lib/wchar_.h [__DECC]: Likewise.
36310         * lib/wctype_.h [__DECC]: Likewise.
36311         * lib/inttypes_.h [__DECC]: Likewise.
36312         Reported by Albert Chin <china@thewrittenword.com> in
36313         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36314
36315 2007-04-04  Eric Blake  <ebb9@byu.net>
36316
36317         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36318         1.5.x.
36319
36320 2007-04-04  Bruno Haible  <bruno@clisp.org>
36321
36322         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36323         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36324
36325 2007-04-04  Bruno Haible  <bruno@clisp.org>
36326
36327         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36328         results for "%010a" of Infinity and NaN.
36329         * tests/test-vasprintf-posix.c (test_function): Likewise.
36330         * tests/test-snprintf-posix.h (test_function): Likewise.
36331         * tests/test-sprintf-posix.h (test_function): Likewise.
36332         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36333         * tests/test-printf-posix.h (test_function): Likewise.
36334         * tests/test-fprintf-posix.out: Update.
36335         Needed for FreeBSD 6.1.
36336
36337 2007-04-04  Bruno Haible  <bruno@clisp.org>
36338
36339         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36340         directly used by the gnulib modules nor by gnulib-tool.
36341
36342 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36343
36344         * DEPENDENCIES: Give overall description of version dependency
36345         desirability.  Use more-typical names for apps.
36346         Add shell, coreutils, diffutils, grep, tar, gzip.
36347
36348 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36349
36350         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36351
36352 2007-04-04  Karl Berry  <karl@gnu.org>
36353
36354         * MODULES.html.sh (func_module): missing '.
36355
36356 2007-04-03  Bruno Haible  <bruno@clisp.org>
36357
36358         * modules/argmatch-tests (Makefile.am): New variable
36359         test_argmatch_LDADD.
36360         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36361         * modules/array-list-tests (Makefile.am): New variable
36362         test_array_list_LDADD.
36363         * modules/array-oset-tests (Makefile.am): New variable
36364         test_array_oset_LDADD.
36365         * modules/avltree-list-tests (Makefile.am): New variable
36366         test_avltree_list_LDADD.
36367         * modules/avltree-oset-tests (Makefile.am): New variable
36368         test_avltree_oset_LDADD.
36369         * modules/avltreehash-list-tests (Makefile.am): New variable
36370         test_avltreehash_list_LDADD.
36371         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36372         test_canonicalize_lgpl_LDADD.
36373         * modules/carray-list-tests (Makefile.am): New variable
36374         test_carray_list_LDADD.
36375         * modules/dirname-tests (Makefile.am): New variable
36376         test_dirname_LDADD.
36377         * modules/linked-list-tests (Makefile.am): New variable
36378         test_linked_list_LDADD.
36379         * modules/linkedhash-list-tests (Makefile.am): New variable
36380         test_linkedhash_list_LDADD.
36381         * modules/rbtree-list-tests (Makefile.am): New variable
36382         test_rbtree_list_LDADD.
36383         * modules/rbtree-oset-tests (Makefile.am): New variable
36384         test_rbtree_oset_LDADD.
36385         * modules/rbtreehash-list-tests (Makefile.am): New variable
36386         test_rbtreehash_list_LDADD.
36387         * modules/xvasprintf-tests (Makefile.am): New variable
36388         test_xvasprintf_LDADD.
36389         Reported by Eric Blake.
36390
36391 2007-04-03  Eric Blake  <ebb9@byu.net>
36392
36393         * DEPENDENCIES: Weaken m4 requirements.
36394
36395 2007-04-03  Bruno Haible  <bruno@clisp.org>
36396
36397         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36398         * modules/isnanl-tests (configure.ac): Likewise.
36399
36400 2007-04-03  Ben Pfaff  <blp@gnu.org>
36401
36402         * modules/iconv_open: Add $(srcdir)/ to source directory
36403         references in Makefile fragments that call gperf, to fix VPATH
36404         builds.
36405
36406 2007-04-03  Bruno Haible  <bruno@clisp.org>
36407
36408         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36409         * lib/ldexpl.c: Undo last change.
36410
36411 2007-04-03  Bruno Haible  <bruno@clisp.org>
36412
36413         * modules/printf-frexpl (Depends-on): Undo last change.
36414         (Files): Add m4/ldexpl.m4.
36415
36416 2007-04-03  Bruno Haible  <bruno@clisp.org>
36417
36418         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36419         * modules/isnanl (Link): New section.
36420
36421         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36422         * modules/frexp (Link): New section.
36423
36424         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36425         * modules/frexpl (Link): New section.
36426
36427         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36428         * modules/ldexpl (Link): New section.
36429
36430 2007-04-03  Bruno Haible  <bruno@clisp.org>
36431
36432         * modules/TEMPLATE-EXTENDED: New file.
36433         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36434
36435 2007-04-03  Bruno Haible  <bruno@clisp.org>
36436
36437         * DEPENDENCIES: New file.
36438         Suggested by Simon Josefsson.
36439
36440 2007-04-03  Bruno Haible  <bruno@clisp.org>
36441
36442         * doc/gnulib.texi: Escape @.
36443
36444 2007-04-03  James Youngman  <jay@gnu.org>
36445         and Paul Eggert  <eggert@cs.ucla.edu>
36446
36447         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36448         birthtime on all systems that have birthtime, not just those which
36449         use st_birthtimensec rather than st_birthtim.  Putting zero in
36450         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36451         that the birth time is not available for files on an NFS mount.
36452
36453 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36454
36455         * modules/memxor: Move back from crypto/, suggested by Bruno.
36456         * modules/crypto/hmac-sha1: Fix memxor dependency.
36457
36458         * modules/crypto/gc: Moved from ../.
36459
36460 2007-04-02  Eric Blake  <ebb9@byu.net>
36461
36462         * lib/ldexpl.c (includes): Avoid libm.
36463
36464         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36465
36466 2007-04-02  Bruno Haible  <bruno@clisp.org>
36467
36468         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36469         on IRIX.
36470
36471 2007-04-02  Bruno Haible  <bruno@clisp.org>
36472
36473         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36474         x86 or x86_64 platforms running MacOS X.
36475         Reported by Ryan Schmidt <@ryandesign.com>.
36476
36477 2007-04-02  Bruno Haible  <bruno@clisp.org>
36478
36479         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36480         i386.
36481
36482 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36483
36484         * modules/crypto/arcfour: Moved from ../.
36485         * modules/crypto/arcfour-tests: Moved from ../.
36486         * modules/crypto/arctwo: Moved from ../.
36487         * modules/crypto/arctwo-tests: Moved from ../.
36488         * modules/crypto/des: Moved from ../.
36489         * modules/crypto/des-tests: Moved from ../.
36490         * modules/crypto/gc-arcfour: Moved from ../.
36491         * modules/crypto/gc-arcfour-tests: Moved from ../.
36492         * modules/crypto/gc-arctwo: Moved from ../.
36493         * modules/crypto/gc-arctwo-tests: Moved from ../.
36494         * modules/crypto/gc-des: Moved from ../.
36495         * modules/crypto/gc-des-tests: Moved from ../.
36496         * modules/crypto/gc-hmac-md5: Moved from ../.
36497         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36498         * modules/crypto/gc-hmac-sha1: Moved from ../.
36499         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36500         * modules/crypto/gc-md2: Moved from ../.
36501         * modules/crypto/gc-md2-tests: Moved from ../.
36502         * modules/crypto/gc-md4: Moved from ../.
36503         * modules/crypto/gc-md4-tests: Moved from ../.
36504         * modules/crypto/gc-md5: Moved from ../.
36505         * modules/crypto/gc-md5-tests: Moved from ../.
36506         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36507         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36508         * modules/crypto/gc-random: Moved from ../.
36509         * modules/crypto/gc-rijndael: Moved from ../.
36510         * modules/crypto/gc-rijndael-tests: Moved from ../.
36511         * modules/crypto/gc-sha1: Moved from ../.
36512         * modules/crypto/gc-sha1-tests: Moved from ../.
36513         * modules/crypto/gc-tests: Moved from ../.
36514         * modules/crypto/hmac-md5: Moved from ../.
36515         * modules/crypto/hmac-md5-tests: Moved from ../.
36516         * modules/crypto/hmac-sha1: Moved from ../.
36517         * modules/crypto/hmac-sha1-tests: Moved from ../.
36518         * modules/crypto/md2: Moved from ../.
36519         * modules/crypto/md2-tests: Moved from ../.
36520         * modules/crypto/md4: Moved from ../.
36521         * modules/crypto/md4-tests: Moved from ../.
36522         * modules/crypto/md5: Moved from ../.
36523         * modules/crypto/md5-tests: Moved from ../.
36524         * modules/crypto/memxor: Moved from ../.
36525         * modules/crypto/rijndael: Moved from ../.
36526         * modules/crypto/rijndael-tests: Moved from ../.
36527         * modules/crypto/sha1: Moved from ../.
36528
36529 2007-03-30  James Youngman  <jay@gnu.org>
36530
36531         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36532         rename() to change the ctime of a file (because ctime is unaffected
36533         by rename on jfs2 on AIX 5.1).
36534         (main): Start by doing cleanup, in case a previous run failed leaving
36535         test files behind.
36536
36537 2007-03-31  Bruno Haible  <bruno@clisp.org>
36538
36539         Support old proprietary implementations of iconv.
36540         * modules/iconv_open: New file.
36541         * lib/iconv_.h: New file.
36542         * m4/iconv_h.m4: New file.
36543         * lib/iconv_open.c: New file.
36544         * lib/iconv_open-aix.gperf: New file.
36545         * lib/iconv_open-hpux.gperf: New file.
36546         * lib/iconv_open-irix.gperf: New file.
36547         * lib/iconv_open-osf.gperf: New file.
36548         * m4/iconv_open.m4: New file.
36549         * modules/linebreak (Depends-on): Add iconv_open.
36550         * modules/striconv (Depends-on): Likewise.
36551         * modules/striconveh (Depends-on): Likewise.
36552         * modules/unicodeio (Depends-on): Likewise.
36553         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36554         (iconv_t)(-1).
36555         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36556         conversion if cd is (iconv_t)(-1).
36557         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36558         is not possible.
36559
36560 2007-03-31  Bruno Haible  <bruno@clisp.org>
36561
36562         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36563         work on Solaris either. Protect also second use of "autodetect_jp".
36564
36565 2007-03-31  Bruno Haible  <bruno@clisp.org>
36566
36567         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36568         the function is not present.
36569
36570 2007-03-31  Bruno Haible  <bruno@clisp.org>
36571
36572         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36573         the function is not present.
36574
36575 2007-03-31  Bruno Haible  <bruno@clisp.org>
36576
36577         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36578         a bug in HP-UX iconv_open().
36579
36580 2007-03-31  Bruno Haible  <bruno@clisp.org>
36581
36582         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36583         (Mathematics <math.h>): New section, add fpieee.
36584         (Input/output <stdio.h>): Add fseterr.
36585         (Mathematics <math.h>): New section, add printf-frexp.
36586         (Container data structures): Add sublist.
36587         (Core language properties): Add fpucw, inline.
36588         (Functions for greatest-width integer types <inttypes.h>): Add
36589         imaxabs, imaxdiv, inttypes.
36590         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36591         isnanl-nolibm, ldexp.
36592         (Mathematics <math.h>): New section, add printf-frexpl.
36593         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36594         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36595         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36596         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36597         (Unicode string functions): Add unistr/u*-mbtoucr.
36598         (Java): Add javacomp-script, javaexec-script.
36599         (C#): Add csharpcomp-script, csharpexec-script.
36600         (Support for building libraries and executables): Add havelib,
36601         relocatable-*.
36602         (Support for maintaining and releasing projects): Renamed from
36603         'Support for maintaining and release projects'. Add announce-gen.
36604
36605 2007-03-31  Bruno Haible  <bruno@clisp.org>
36606
36607         * README: Talk primarily about git.
36608         (git and CVS): Renamed from CVS.
36609         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36610         gnulib is available through git.
36611         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36612
36613 2007-03-30  Bruno Haible  <bruno@clisp.org>
36614
36615         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36616         * lib/poll_.h: Likewise.
36617         * lib/stat_.h: Likewise.
36618         * lib/sys_time_.h: Likewise.
36619         * lib/sysexit_.h: Likewise.
36620         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36621         * lib/stdbool_.h: Likewise.
36622         * lib/byteswap_.h: Add double-inclusion guard.
36623
36624 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36625
36626         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36627
36628 2007-03-30  Karl Berry  <karl@gnu.org>
36629
36630         * config/srclist-update: double space after USA in the license
36631         substitution, since that's how it's usually (?) written.
36632
36633 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36634
36635         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36636         reported by Bruno Haible.
36637
36638 2007-03-29  Bruno Haible  <bruno@clisp.org>
36639
36640         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
36641         a bug in AIX iconv().
36642
36643 2007-03-29  Bruno Haible  <bruno@clisp.org>
36644
36645         * modules/ldexpl-tests: New file.
36646         * tests/test-ldexpl.c: New file.
36647
36648 2007-03-29  Bruno Haible  <bruno@clisp.org>
36649
36650         * lib/ldexpl.c: Include fpucw.h.
36651         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
36652         multiplication.
36653         * modules/ldexpl (Depends-on): Add fpucw.
36654
36655 2007-03-29  Bruno Haible  <bruno@clisp.org>
36656
36657         * modules/ldexpl: New file.
36658         * m4/ldexpl.m4: New file.
36659         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
36660         set.
36661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
36662         REPLACE_LDEXPL.
36663         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
36664         REPLACE_LDEXPL.
36665         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36666         gl_FUNC_LDEXPL_WORKS.
36667         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
36668         * modules/mathl (Files): Remove lib/ldexpl.c.
36669         (Depends-on): Add ldexpl.
36670
36671 2007-03-29  Bruno Haible  <bruno@clisp.org>
36672
36673         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
36674
36675 2007-03-29  Bruno Haible  <bruno@clisp.org>
36676
36677         * tests/test-striconveh.c (main): Don't assume that a direct conversion
36678         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
36679         and possibly also HP-UX.
36680         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36681         work on AIX, IRIX, HP-UX, OSF/1.
36682         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36683         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36684         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36685         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36686         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
36687         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36688
36689 2007-03-29  Bruno Haible  <bruno@clisp.org>
36690
36691         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
36692
36693 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36694
36695         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
36696         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
36697
36698 2007-03-29  Eric Blake  <ebb9@byu.net>
36699
36700         * lib/acl-internal.h: Remove redundant include.
36701         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
36702         Cygwin when a file is locked.
36703
36704 2007-03-29  Bruno Haible  <bruno@clisp.org>
36705
36706         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
36707         file.
36708         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
36709
36710 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36711
36712         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
36713         try to remove a parent directory if the child couldn't be removed
36714         (except for the first rmdir, which could fail because the child
36715         doesn't exist).  Problem reported by Jeff Blaine in
36716         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
36717
36718 2007-03-28  Bruno Haible  <bruno@clisp.org>
36719
36720         * lib/striconveh.c (utf8conv_carefully): New function.
36721         (mem_cd_iconveh_internal): Invoke it.
36722
36723 2007-03-28  Bruno Haible  <bruno@clisp.org>
36724
36725         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
36726         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
36727         input.
36728         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
36729         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
36730         unistr/u8-uctomb.
36731
36732 2007-03-28  Bruno Haible  <bruno@clisp.org>
36733
36734         * modules/unistr/u8-mbtoucr: New file.
36735         * lib/unistr/u8-mbtoucr.c: New file.
36736         * modules/unistr/u16-mbtoucr: New file.
36737         * lib/unistr/u16-mbtoucr.c: New file.
36738         * modules/unistr/u16-mbtoucr: New file.
36739         * lib/unistr/u16-mbtoucr.c: New file.
36740         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
36741
36742 2007-03-27  Simon Josefsson  <simon@josefsson.org>
36743             Bruno Haible  <bruno@clisp.org>
36744
36745         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
36746         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
36747         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
36748
36749         * m4/stdio_h.m4: Add stubs for vasprintf too.
36750
36751         * modules/stdio: Support vasprintf in sed command.
36752
36753         * modules/vasprintf: Depend on stdio for prototypes.  Remove
36754         vasprintf.h.  Add stdio module indicator.
36755
36756         * lib/stdio_.h: Declare asprintf and vasprintf, based on
36757         vasprintf.h.
36758
36759         * lib/vasprintf.h: File removed.
36760
36761         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
36762         * lib/vasprintf.c: Ditto.
36763         * lib/xvasprintf.c: Ditto.
36764         * tests/test-vasprintf-posix.c: Ditto.
36765         * tests/test-vasprintf.c: Ditto.
36766
36767 2007-03-27  Bruno Haible  <bruno@clisp.org>
36768
36769         Make vasnprintf multithread-safe.
36770         * lib/vasnprintf.c (decimal_point_char): New function.
36771         (VASNPRINTF): Use it.
36772         Suggested by Simon Josefsson.
36773
36774 2007-03-27  Eric Blake  <ebb9@byu.net>
36775
36776         Support sub-second birthtime on cygwin.
36777         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
36778         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
36779         (get_stat_birthtime): Also work with st_birthtim.
36780
36781 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
36782
36783         * lib/stat-time.h (USE_BIRTHTIME): Remove.
36784         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
36785         (get_stat_birthtime_ns): Do not try to use "spare" fields.
36786         (get_stat_birthtime_ns): Simplify compile-time tests.
36787         (get_stat_birthtime): Change the API to look like
36788         get_stat_mtime etc., except return a negative tv_nsec on error.
36789         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
36790         Don't check for "spare" fields.
36791         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
36792         or for struct stat.st_birthtime, as these tests aren't used.
36793         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
36794
36795 2007-03-27  Bruno Haible  <bruno@clisp.org>
36796
36797         * lib/stat-time.h: Include <sys/stat.h>.
36798
36799 2007-03-27  James Youngman  <jay@gnu.org>
36800
36801         * lib/stat-time.h (get_stat_birthtime): New function for
36802           retrieving st_birthtime as provided by UFS2 (hence *BSD).
36803         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
36804           and its variants.
36805         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
36806         * modules/stat-time-test: New file.
36807         * tests/test-stat-time.c: New test, devised by Bruno Haible.
36808
36809 2007-03-26  Bruno Haible  <bruno@clisp.org>
36810
36811         Better support of signalling NaNs.
36812         * lib/atanl.c: Include isnanl.h.
36813         (atanl): Perform test for NaN at the beginning of the function and
36814         through a call to isnanl.
36815         * lib/cosl.c: Include isnanl.h.
36816         (cosl): Perform test for NaN at the beginning of the function and
36817         through a call to isnanl.
36818         * lib/ldexpl.c: Include isnanl.h.
36819         (ldexpl): Perform test for NaN through a call to isnanl.
36820         * lib/logl.c: Include isnanl.h.
36821         (logl): Perform test for NaN at the beginning of the function and
36822         through a call to isnanl.
36823         * lib/sinl.c: Include isnanl.h.
36824         (sinl): Perform test for NaN at the beginning of the function and
36825         through a call to isnanl.
36826         * lib/sqrtl.c: Include isnanl.h.
36827         (sqrtl): Perform test for NaN at the beginning of the function and
36828         through a call to isnanl.
36829         * lib/tanl.c: Include isnanl.h.
36830         (tanl): Perform test for NaN at the beginning of the function and
36831         through a call to isnanl.
36832         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
36833         * modules/mathl (Depends-on): Add isnanl.
36834
36835 2007-03-26  Eric Blake  <ebb9@byu.net>
36836
36837         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
36838         regression in logic sense of previous patch.
36839
36840 2007-03-26  Bruno Haible  <bruno@clisp.org>
36841
36842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
36843         unportable shell command "if ! ...".
36844         Reported by Ralf Wildenhues.
36845
36846 2007-03-25  Bruno Haible  <bruno@clisp.org>
36847
36848         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
36849         <sysexits.h> file, and only add EX_CONFIG.
36850         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
36851         absolute file name and whether it is sufficient. Substitute also
36852         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
36853         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
36854         ABSOLUTE_SYSEXITS_H into sysexits.h.
36855
36856 2007-03-25  Bruno Haible  <bruno@clisp.org>
36857
36858         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
36859         hints is NULL.
36860
36861 2007-03-25  Bruno Haible  <bruno@clisp.org>
36862
36863         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
36864         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
36865
36866 2007-03-25  Bruno Haible  <bruno@clisp.org>
36867
36868         * lib/vasnprintf.c: Include langinfo.h.
36869         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
36870         multithread-safe.
36871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
36872         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
36873         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36874         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36875         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36876         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36877         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36878         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
36879         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36880         Reported by Simon Josefsson.
36881
36882 2007-03-25  Bruno Haible  <bruno@clisp.org>
36883
36884         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
36885         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
36886         * modules/vasnprintf (Depends-on): Add stdint.
36887
36888 2007-03-25  Bruno Haible  <bruno@clisp.org>
36889
36890         * modules/fpieee: New file.
36891         * m4/fpieee.m4: New file.
36892         * modules/isnan-nolibm (Depends-on): Add fpieee.
36893         * modules/isnanl-nolibm (Depends-on): Add fpieee.
36894         * modules/isnanl (Depends-on): Add fpieee.
36895
36896 2007-03-25  Bruno Haible  <bruno@clisp.org>
36897
36898         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
36899
36900 2007-03-25  Bruno Haible  <bruno@clisp.org>
36901
36902         Avoid test failures on IRIX 6.5.
36903         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
36904         (main): Use it.
36905         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
36906         macros.
36907         (main): Use them.
36908
36909 2007-03-25  Bruno Haible  <bruno@clisp.org>
36910
36911         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
36912         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
36913         exists but doesn't work.
36914         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
36915         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
36916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
36917         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
36918
36919 2007-03-25  Bruno Haible  <bruno@clisp.org>
36920
36921         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
36922         returns inf. Needed on IRIX 6.5.
36923
36924 2007-03-25  Bruno Haible  <bruno@clisp.org>
36925
36926         * tests/test-frexpl.c: Include isnanl-nolibm.h.
36927         (main): Use isnanl instead of x != x idiom.
36928         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
36929
36930         * tests/test-frexp.c: Include isnan.h.
36931         (main): Use isnan instead of x != x idiom.
36932         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
36933
36934 2007-03-25  Bruno Haible  <bruno@clisp.org>
36935
36936         * tests/test-frexp.c (NaN): New function/macro.
36937         (main): Use it instead of 0.0 / 0.0.
36938         * tests/test-isnan.c (NaN): New function/macro.
36939         (main): Use it instead of 0.0 / 0.0.
36940         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
36941         (test_function): Use it instead of 0.0 / 0.0.
36942         * tests/test-vasprintf-posix.c (NaN): New function/macro.
36943         (test_function): Use it instead of 0.0 / 0.0.
36944         * tests/test-snprintf-posix.h (NaN): New function/macro.
36945         (test_function): Use it instead of 0.0 / 0.0.
36946         * tests/test-sprintf-posix.h (NaN): New function/macro.
36947         (test_function): Use it instead of 0.0 / 0.0.
36948         * tests/test-fprintf-posix.h (NaN): New function/macro.
36949         (test_function): Use it instead of 0.0 / 0.0.
36950         * tests/test-printf-posix.h (NaN): New function/macro.
36951         (test_function): Use it instead of 0.0 / 0.0.
36952
36953         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
36954
36955 2007-03-25  Bruno Haible  <bruno@clisp.org>
36956
36957         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
36958
36959 2007-03-25  Bruno Haible  <bruno@clisp.org>
36960
36961         * lib/regexec.c (merge_state_with_log): Make static.
36962
36963 2007-03-25  Bruno Haible  <bruno@clisp.org>
36964
36965         * lib/trigl.c (kernel_rem_pio2): Make static.
36966
36967 2007-03-25  Bruno Haible  <bruno@clisp.org>
36968
36969         * lib/sincosl.c (sincosl_table): Make static.
36970
36971 2007-03-25  Bruno Haible  <bruno@clisp.org>
36972
36973         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
36974         if the compiler does not support C99.
36975
36976 2007-03-25  Bruno Haible  <bruno@clisp.org>
36977
36978         * modules/time (Makefile.am): Ensure all rule action lines start with a
36979         tab.
36980
36981 2007-03-24  Bruno Haible  <bruno@clisp.org>
36982
36983         * modules/tsearch-tests: New file.
36984         * tests/test-tsearch.sh: New file.
36985         * tests/test-tsearch.c: New file, mostly copied from glibc.
36986
36987         * modules/search-tests: New file.
36988         * tests/test-search.c: New file.
36989
36990         * modules/search: New file.
36991         * lib/search_.h: New file, incorporating lib/tsearch.h.
36992         * m4/search_h.m4: New file.
36993         * lib/tsearch.h: Remove file.
36994         * lib/tsearch.c: Include search.h instead of tsearch.h.
36995         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
36996         HAVE_TSEARCH.
36997         * modules/tsearch (Files): Remove lib/tsearch.h.
36998         (Depends-on): Add search.
36999         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37000         (Include): Change tsearch.h into search.h.
37001
37002 2007-03-24  Bruno Haible  <bruno@clisp.org>
37003
37004         * modules/fpucw: New file.
37005         * lib/fpucw.h: New file.
37006         * lib/frexp.c: Include fpucw.h.
37007         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37008         (FUNC): Use them.
37009         * lib/printf-frexp.c: Include fpucw.h.
37010         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37011         (FUNC): Use them.
37012         * lib/vasnprintf.c: Include fpucw.h.
37013         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37014         'long double' calculations.
37015         * tests/test-frexpl.c: Include fpucw.h.
37016         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37017         * tests/test-printf-frexpl.c: Include fpucw.h.
37018         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37019         * modules/frexpl (Depends-on): Add fpucw.
37020         * modules/printf-frexpl (Depends-on): Likewise.
37021         * modules/fprintf-posix (Depends-on): Likewise.
37022         * modules/snprintf-posix (Depends-on): Likewise.
37023         * modules/sprintf-posix (Depends-on): Likewise.
37024         * modules/vasnprintf-posix (Depends-on): Likewise.
37025         * modules/vasprintf-posix (Depends-on): Likewise.
37026         * modules/vfprintf-posix (Depends-on): Likewise.
37027         * modules/vsnprintf-posix (Depends-on): Likewise.
37028         * modules/vsprintf-posix (Depends-on): Likewise.
37029         * modules/frexpl-tests (Depends-on): Likewise.
37030         * modules/printf-frexpl-tests (Depends-on): Likewise.
37031
37032 2007-03-24  Bruno Haible  <bruno@clisp.org>
37033
37034         * lib/float+.h: New file.
37035         * lib/isnan.c: Include float+.h.
37036         (SIZE): New macro.
37037         (FUNC): Compare only SIZE bytes of the value.
37038         * lib/vasnprintf.c: Include float+.h.
37039         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37040         SIZEOF_LDBL or SIZEOF_DBL bytes.
37041         * modules/isnan-nolibm (Files): Add lib/float+.h.
37042         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37043         * modules/isnanl (Files): Add lib/float+.h.
37044         * modules/vasnprintf (Files): Add lib/float+.h.
37045
37046 2007-03-24  Bruno Haible  <bruno@clisp.org>
37047
37048         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37049         include isnanl-nolibm.h.
37050
37051 2007-03-24  Bruno Haible  <bruno@clisp.org>
37052
37053         * tests/test-read-file.c (main): Don't produce spurious output for
37054         expected situations. Make the test fail if it encountered unexpected
37055         results.
37056
37057 2007-03-24  Bruno Haible  <bruno@clisp.org>
37058
37059         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37060         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37061
37062 2007-03-24  Bruno Haible  <bruno@clisp.org>
37063
37064         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37065
37066 2007-03-24  Bruno Haible  <bruno@clisp.org>
37067
37068         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37069         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37070
37071         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37072         * modules/utf8-ucs4: Turn into a symbolic link to module
37073         unistr/u8-mbtouc.
37074
37075         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37076         utf8-ucs4-unsafe.
37077         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37078         unistr/u8-mbtouc-unsafe.
37079
37080         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37081         * modules/utf16-ucs4: Turn into a symbolic link to module
37082         unistr/u16-mbtouc.
37083
37084         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37085         utf16-ucs4-unsafe.
37086         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37087         unistr/u16-mbtouc-unsafe.
37088
37089         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37090         * modules/ucs4-utf8: Turn into a symbolic link to module
37091         unistr/u8-ubtomb.
37092
37093         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37094         * modules/ucs4-utf16: Turn into a symbolic link to module
37095         unistr/u16-ubtomb.
37096
37097 2007-03-24  Bruno Haible  <bruno@clisp.org>
37098
37099         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37100         Enable the function only if HAVE_INLINE.
37101         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37102         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37103         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37104         Enable the function only if HAVE_INLINE.
37105         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37106         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37107         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37108         Enable the function only if HAVE_INLINE.
37109         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37110         Enable the function only if HAVE_INLINE.
37111         * modules/utf8-ucs4: Update.
37112         * modules/utf8-ucs4-unsafe: Update.
37113         * modules/utf16-ucs4: Update.
37114         * modules/utf16-ucs4-unsafe: Update.
37115         * modules/ucs4-utf8: Update.
37116         * modules/ucs4-utf16: Update.
37117
37118 2007-03-24  Bruno Haible  <bruno@clisp.org>
37119
37120         * lib/utf8-ucs4.h: Remove file.
37121         * lib/utf8-ucs4-unsafe.h: Remove file.
37122         * lib/utf16-ucs4.h: Remove file.
37123         * lib/utf16-ucs4-unsafe.h: Remove file.
37124         * lib/ucs4-utf8.h: Remove file.
37125         * lib/ucs4-utf16.h: Remove file.
37126         * lib/unistr.h: Include their previous contents.
37127         * m4/utf-ucs4.m4: Remove file.
37128         * m4/ucs4-utf.m4: Remove file.
37129         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37130         (Depends-on): Add unistr/base.
37131         (configure.ac): Remove gl_UTF_UCS4.
37132         (Makefile.am): Update.
37133         (Include): Change to unistr.h.
37134         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37135         (Depends-on): Add unistr/base.
37136         (configure.ac): Remove gl_UTF_UCS4.
37137         (Makefile.am): Update.
37138         (Include): Change to unistr.h.
37139         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37140         (Depends-on): Add unistr/base.
37141         (configure.ac): Remove gl_UTF_UCS4.
37142         (Makefile.am): Update.
37143         (Include): Change to unistr.h.
37144         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37145         (Depends-on): Add unistr/base.
37146         (configure.ac): Remove gl_UTF_UCS4.
37147         (Makefile.am): Update.
37148         (Include): Change to unistr.h.
37149         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37150         (Depends-on): Add unistr/base.
37151         (configure.ac): Remove gl_UCS4_UTF.
37152         (Makefile.am): Update.
37153         (Include): Change to unistr.h.
37154         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37155         (Depends-on): Add unistr/base.
37156         (configure.ac): Remove gl_UCS4_UTF.
37157         (Makefile.am): Update.
37158         (Include): Change to unistr.h.
37159         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
37160         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
37161         utf8-ucs4-unsafe.h.
37162         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
37163         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
37164         utf16-ucs4-unsafe.h.
37165         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
37166         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
37167         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
37168         * lib/unistr/u8-strchr.c: Likewise.
37169         * lib/unistr/u8-strrchr.c: Likewise.
37170         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
37171         * lib/unistr/u16-strchr.c: Likewise.
37172         * lib/unistr/u16-strrchr.c: Likewise.
37173         * lib/striconveh.c: Update.
37174         * lib/linebreak.c: Update.
37175
37176 2007-03-24  Bruno Haible  <bruno@clisp.org>
37177
37178         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
37179         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
37180
37181 2007-03-22  Bruno Haible  <bruno@clisp.org>
37182
37183         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
37184
37185 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
37186
37187         * MODULES.html.sh (File system functions): New module write-any-file.
37188         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37189         * m4/write-any-file.m4: New files.
37190
37191 2007-03-23  Eric Blake  <ebb9@byu.net>
37192
37193         * gnulib-tool: Rearrange space-tab sequences, since some editors
37194         like to eat them.
37195
37196 2007-03-23  Eric Blake  <ebb9@byu.net>
37197
37198         * lib/version-etc.c (version_etc_va): Update license wording to
37199         be more concise.  Recommended by Richard Stallman.
37200
37201 2007-03-22  Bruno Haible  <bruno@clisp.org>
37202
37203         * lib/poll.c (MSG_PEEK): New fallback definition.
37204
37205 2007-03-22  Bruno Haible  <bruno@clisp.org>
37206
37207         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37208         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37209         (main): Update.
37210         Fixes a compilation error on BeOS.
37211
37212 2007-03-22  Bruno Haible  <bruno@clisp.org>
37213
37214         * modules/frexpl-tests: New file.
37215         * tests/test-frexpl.c: New file.
37216
37217         * modules/frexpl: New file.
37218         * m4/frexpl.m4: New file.
37219         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37220         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37222         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37223         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37224         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37225
37226 2007-03-22  Bruno Haible  <bruno@clisp.org>
37227
37228         * lib/frexpl.c: Share code with lib/frexp.c.
37229         * modules/mathl (Files): Add lib/frexp.c.
37230         (Depends-on): Add isnanl-nolibm.
37231
37232 2007-03-22  Bruno Haible  <bruno@clisp.org>
37233
37234         * modules/printf-frexp (Files): Add m4/frexp.m4.
37235         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37236         only if the found frexp function actually works.
37237
37238 2007-03-22  Bruno Haible  <bruno@clisp.org>
37239
37240         * lib/frexp.c: Remove older implementation that uses divisions.
37241
37242 2007-03-21  Bruno Haible  <bruno@clisp.org>
37243
37244         * modules/frexp-tests: New file.
37245         * tests/test-frexp.c: New file.
37246
37247         * modules/frexp: New file.
37248         * lib/frexp.c: New file.
37249         * m4/frexp.m4: New file.
37250         * lib/math_.h (frexp): New declaration.
37251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37252         REPLACE_FREXP.
37253         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37254
37255 2007-03-21  Bruno Haible  <bruno@clisp.org>
37256
37257         * modules/isnanl-tests: New file.
37258         * tests/test-isnanl.c: New file.
37259
37260         * modules/isnanl: New file.
37261         * lib/isnanl.h: New file.
37262         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37263         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37264         gl_FUNC_ISNANL_WORKS.
37265         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37266         New macros.
37267
37268 2007-03-21  Bruno Haible  <bruno@clisp.org>
37269
37270         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37271         lib/isnanl.h.
37272         (Include): Update.
37273         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37274         * lib/vasnprintf.c: Update.
37275         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37276         tests/test-isnanl.h, remove tests/test-isnanl.c.
37277         (Makefile.am): Update.
37278         * tests/test-isnanl-nolibm.c: New file.
37279         * tests/test-isnanl.h: New file.
37280         * tests/test-isnanl.c: Remove file.
37281
37282 2007-03-21  Jim Meyering  <jim@meyering.net>
37283
37284         When trying to open ".", treat ESTALE like EACCES.
37285         * lib/savewd.c (savewd_save): Resort to forking not just upon
37286         failure with EACCES, but also when errno is ESTALE.
37287
37288 2007-03-20  Bruno Haible  <bruno@clisp.org>
37289
37290         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37291         Needed on AIX 5.1. Reported by Matthew Woehlke.
37292
37293 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37294
37295         Suggestions by Bruno Haible:
37296         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37297         our own.
37298         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37299         * modules/acl (Depends-on): Add gettext.
37300
37301 2007-03-19  Bruno Haible  <bruno@clisp.org>
37302
37303         * modules/iconvme: Remove file.
37304         * lib/iconvme.h: Remove file.
37305         * lib/iconvme.c: Remove file.
37306         * m4/iconvme.m4: Remove file.
37307
37308 2007-03-19  Bruno Haible  <bruno@clisp.org>
37309
37310         * doc/relocatable-maint.texi: Break long shell script line.
37311         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37312
37313 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37314
37315         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37316         handle file_has_acl.
37317         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37318         * lib/acl.c: Move header inclusions and related macro defns into
37319         lib/acl-internal.h.
37320         (S_ISLNK): Remove defn, since that's now done for us.
37321         (file_has_acl): Move to lib/file-has-acl.c.
37322         Call acl_trivial if available.  This is the crucial part of the fix.
37323         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37324         shared within the library.  Rewrite a bit, partly to make it compatible
37325         with the GNU coding style.
37326         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37327         Remove unnecessary double-quotes.
37328         Don't test for acl_to_text; the build will catch that.
37329         Replace acl_entries if it doesn't exist and it is needed.
37330         Check for -lsec and acl_trivial (as used on Solaris 10).
37331         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37332         lib/file-has-acl.c.
37333         (Depends-on): Add sys_stat, for S_ISLNK.
37334
37335 2007-03-19  Ben Pfaff  <blp@gnu.org>
37336
37337         * doc/gnulib.texi: Fix typos.
37338         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37339
37340 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37341
37342         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37343         If size is zero here, buf must be zero.
37344
37345 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37346
37347         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37348         <bruno@clisp.org>.
37349
37350 2007-03-18  Bruno Haible  <bruno@clisp.org>
37351
37352         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37353         Suggested by Eric Blake.
37354
37355 2007-03-18  Ben Pfaff  <blp@gnu.org>
37356
37357         * doc/relocatable.texi: Recommend using as prefix a directory
37358         that does not exist and will never be created.  Based on
37359         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37360         and others.
37361
37362 2007-03-17  Bruno Haible  <bruno@clisp.org>
37363
37364         * lib/fchownat.c: Include lchown.h.
37365
37366 2007-03-17  Bruno Haible  <bruno@clisp.org>
37367
37368         Fix endless loop when the given allocated size was > INT_MAX.
37369         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37370         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37371         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37372         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37373         * lib/sprintf.c (sprintf): Likewise.
37374
37375 2007-03-17  Bruno Haible  <bruno@clisp.org>
37376
37377         * tests/test-argp-2.sh (func_compare): Output a context diff.
37378
37379 2007-03-17  Bruno Haible  <bruno@clisp.org>
37380
37381         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37382         locale's decimal-point character.
37383
37384 2007-03-17  Bruno Haible  <bruno@clisp.org>
37385
37386         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37387         before comparing it. Needed because on some platforms (e.g. x86) a
37388         'long double' occupies less bytes than sizeof (long double).
37389
37390 2007-03-17  Bruno Haible  <bruno@clisp.org>
37391
37392         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37393         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37394         * tests/test-getaddrinfo.c (simple): Likewise.
37395         * tests/test-read-file.c (main): Likewise.
37396
37397 2007-03-17  Bruno Haible  <bruno@clisp.org>
37398
37399         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37400
37401 2007-03-17  Bruno Haible  <bruno@clisp.org>
37402
37403         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37404         unused variable.
37405
37406 2007-03-17  Bruno Haible  <bruno@clisp.org>
37407
37408         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37409         * tests/test-c-strncasecmp.c: Likewise.
37410
37411 2007-03-17  Bruno Haible  <bruno@clisp.org>
37412
37413         * modules/stdlib (Depends-on): Add unistd.
37414         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37415         Needed for MacOS X 10.3.
37416
37417 2007-03-17  Bruno Haible  <bruno@clisp.org>
37418
37419         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37420
37421 2007-03-17  Bruno Haible  <bruno@clisp.org>
37422
37423         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37424
37425 2007-03-17  Bruno Haible  <bruno@clisp.org>
37426
37427         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37428         to reflect files copied from gnulib (with or without modifications).
37429         Suggested by Jim Meyering.
37430
37431 2007-03-17  Eric Blake  <ebb9@byu.net>
37432
37433         * NEWS: Document stdlib change from 2007-02-18.
37434
37435 2007-03-17  Jim Meyering  <jim@meyering.net>
37436
37437         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37438         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37439         someone uses a name containing shell meta-characters.
37440         Reported by Alfred M. Szmidt.
37441
37442         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37443
37444 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37445
37446         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37447         and copy gettext configuration files only if configure.ac contains
37448         a use of AM_GNU_GETTEXT_VERSION.
37449
37450 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37451
37452         * build-aux/bootstrap (gnulib_name): New variable.
37453         (gnulib_tool_options): Use it.
37454
37455 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37456
37457         * tests/test-des.c: Use new namespace.
37458
37459 2007-03-15  Bruno Haible  <bruno@clisp.org>
37460
37461         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37462         Reported by James Youngman <jay@gnu.org>.
37463
37464 2007-03-15  Bruno Haible  <bruno@clisp.org>
37465
37466         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37467         declared prototype. Needed with cc on OSF/1 5.1.
37468
37469 2007-03-15  Bruno Haible  <bruno@clisp.org>
37470
37471         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37472         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37473         (struct gl_list_implementation): Add dispose_fn argument to the
37474         'create_empty', 'create' methods.
37475         (struct gl_list_impl_base): Add field 'dispose_fn'.
37476         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37477         argument.
37478         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37479         dispose_fn argument.
37480         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37481         dispose_fn on the dropped values.
37482         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37483         dispose_fn argument.
37484         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37485         dropped values.
37486         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37487         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37488         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37489         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37490         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37491         argument.
37492         (gl_tree_list_free): Call dispose_fn on the dropped values.
37493         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37494         the dropped values.
37495         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37496         Add dispose_fn argument.
37497         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37498         Call dispose_fn on the dropped values.
37499         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37500         Add dispose_fn argument.
37501         (gl_sublist_create): Initialize the 'dispose_fn' field.
37502         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37503         * tests/test-array_list.c (main): Update.
37504         * tests/test-carray_list.c (main): Update.
37505         * tests/test-avltree_list.c (main): Update.
37506         * tests/test-rbtree_list.c (main): Update.
37507         * tests/test-avltreehash_list.c (main): Update.
37508         * tests/test-rbtreehash_list.c (main): Update.
37509         * tests/test-linked_list.c (main): Update.
37510         * tests/test-linkedhash_list.c (main): Update.
37511         * tests/test-array_oset.c (main): Update.
37512
37513 2007-03-15  Bruno Haible  <bruno@clisp.org>
37514
37515         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37516         (gl_oset_create_empty): Add dispose_fn argument.
37517         (struct gl_oset_implementation): Add dispose_fn argument to
37518         'create_empty' method.
37519         (struct gl_oset_impl_base): Add dispose_fn field.
37520         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37521         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37522         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37523         values.
37524         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37525         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37526         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37527         dropped value.
37528         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37529         dropped value.
37530         * tests/test-array_oset.c (main): Update.
37531         * tests/test-avltree_oset.c (main): Update.
37532         * tests/test-rbtree_oset.c (main): Update.
37533         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37534
37535 2007-03-13  Bruno Haible  <bruno@clisp.org>
37536
37537         * tests/test-stdbool.c (i): Update after last patch.
37538
37539 2007-03-12  Bruno Haible  <bruno@clisp.org>
37540
37541         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37542         the iswprint macro. Needed on Solaris 2.5.1.
37543
37544 2007-03-12  Bruno Haible  <bruno@clisp.org>
37545
37546         * tests/test-printf-frexp.c (main): Declare x as volatile.
37547
37548 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37549
37550         * doc/gnulib.texi (Build robot for gnulib): New section.
37551
37552 2007-03-12  Jim Meyering  <jim@meyering.net>
37553
37554         * build-aux/bootstrap: New file.
37555         * build-aux/bootstrap.conf: New file, from coreutils.
37556
37557 2007-03-11  Bruno Haible  <bruno@clisp.org>
37558
37559         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37560
37561 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37562
37563         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37564         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37565         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37566
37567 2007-03-11  Bruno Haible  <bruno@clisp.org>
37568
37569         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37570         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37571
37572 2007-03-11  Bruno Haible  <bruno@clisp.org>
37573
37574         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37575         formula. Needed for SunPRO C 5.0.
37576
37577 2007-03-11  Bruno Haible  <bruno@clisp.org>
37578
37579         * modules/long-options (Depends-on): Add getopt.
37580
37581 2007-03-11  Bruno Haible  <bruno@clisp.org>
37582
37583         * modules/modechange (Depends-on): Add stdbool.
37584
37585 2007-03-11  Bruno Haible  <bruno@clisp.org>
37586
37587         * modules/i-ring (Depends-on): Add stdbool.
37588
37589 2007-03-11  Bruno Haible  <bruno@clisp.org>
37590
37591         * modules/gc-des (Depends-on): Add stdbool.
37592
37593 2007-03-11  Bruno Haible  <bruno@clisp.org>
37594
37595         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37596
37597 2007-03-11  Bruno Haible  <bruno@clisp.org>
37598
37599         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37600
37601 2007-03-11  Bruno Haible  <bruno@clisp.org>
37602
37603         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37604
37605 2007-03-11  Bruno Haible  <bruno@clisp.org>
37606
37607         * lib/vasnprintf.c (sprintf): Undefine.
37608
37609 2007-03-11  Bruno Haible  <bruno@clisp.org>
37610
37611         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37612         initializers in SunPRO C and Compaq C compilers.
37613
37614 2007-03-11  Bruno Haible  <bruno@clisp.org>
37615
37616         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37617         decrementing code ANSI C compliant.
37618
37619 2007-03-11  Bruno Haible  <bruno@clisp.org>
37620
37621         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37622         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37623
37624 2007-03-11  Bruno Haible  <bruno@clisp.org>
37625
37626         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37627         <stdbool.h> substitute doesn't pass.
37628
37629 2007-03-11  Bruno Haible  <bruno@clisp.org>
37630
37631         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37632
37633 2007-03-11  Bruno Haible  <bruno@clisp.org>
37634
37635         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37636         script, for submission to autobuild.josefsson.org.
37637
37638 2007-03-10  Bruno Haible  <bruno@clisp.org>
37639
37640         * modules/canonicalize-lgpl-tests: New file.
37641         * tests/test-canonicalize-lgpl.sh: New file.
37642         * tests/test-canonicalize-lgpl.c: New file.
37643
37644         * modules/c-strcase-tests: New file.
37645         * tests/test-c-strcase.sh: New file.
37646         * tests/test-c-strcasecmp.c: New file.
37647         * tests/test-c-strncasecmp.c: New file.
37648
37649         * modules/atexit-tests: New file.
37650         * tests/test-atexit.sh: New file.
37651         * tests/test-atexit.c: New file.
37652
37653 2007-03-10  Bruno Haible  <bruno@clisp.org>
37654
37655         * tests/test-binary-io.sh: Use temporary filenames that are not so
37656         likely to clash with those of other tests (in a parallel make).
37657         * tests/test-binary-io.c: Likewise.
37658
37659 2007-03-10  Bruno Haible  <bruno@clisp.org>
37660
37661         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
37662         fallback; use #error instead.
37663         Suggested by Simon Josefsson.
37664
37665 2007-03-10  Bruno Haible  <bruno@clisp.org>
37666
37667         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
37668         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
37669         first and the last.
37670
37671 2007-03-10  Bruno Haible  <bruno@clisp.org>
37672
37673         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
37674
37675 2007-03-10  Bruno Haible  <bruno@clisp.org>
37676
37677         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
37678         "make distcheck".
37679         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
37680         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
37681         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
37682
37683 2007-03-10  Bruno Haible  <bruno@clisp.org>
37684
37685         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
37686         variable.
37687         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
37688         variable.
37689
37690 2007-03-09  Eric Blake  <ebb9@byu.net>
37691         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
37692
37693         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
37694         types are not being provided by gnulib.
37695         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
37696         types are supported.
37697
37698 2007-03-10  Bruno Haible  <bruno@clisp.org>
37699
37700         * lib/stdio_.h (__attribute__): New macro.
37701         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
37702         vsprintf): Specify __attribute__ __format__ for GCC.
37703         Suggested by Eric Blake.
37704
37705 2007-03-09  Bruno Haible  <bruno@clisp.org>
37706
37707         * modules/printf-posix-tests: New file.
37708         * tests/test-printf-posix.sh: New file.
37709         * tests/test-printf-posix.c: New file.
37710
37711         * modules/printf-posix: New file.
37712         * lib/printf.c: New file.
37713         * m4/printf-posix-rpl.m4: New file.
37714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
37715         REPLACE_PRINTF.
37716         * lib/stdio_.h (printf): New declaration.
37717         (format, __format__, ____printf____, ____scanf____, ____strftime____,
37718         ____strfmon____): New macros.
37719         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
37720         REPLACE_PRINTF.
37721
37722 2007-03-09  Bruno Haible  <bruno@clisp.org>
37723
37724         * tests/test-vasnprintf-posix2.sh: New file.
37725         * tests/test-vasnprintf-posix2.c: New file.
37726         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
37727         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37728         (Makefile.am): Activate test-vasnprintf-posix2.sh.
37729
37730         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
37731         a locale dependent decimal point, rather than always '.'.
37732
37733 2007-03-09  Eric Blake  <ebb9@byu.net>
37734
37735         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
37736         spite of platforms like Tandem/NSK that define it to -1.
37737
37738 2007-03-08  Bruno Haible  <bruno@clisp.org>
37739
37740         * modules/vprintf-posix-tests: New file.
37741         * tests/test-vprintf-posix.sh: New file.
37742         * tests/test-vprintf-posix.c: New file.
37743         * tests/test-printf-posix.h: New file.
37744
37745         * modules/vprintf-posix: New file.
37746         * lib/vprintf.c: New file.
37747         * m4/vprintf-posix.m4: New file.
37748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
37749         REPLACE_VPRINTF.
37750         * lib/stdio_.h (vprintf): New declaration.
37751         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
37752         REPLACE_VPRINTF.
37753
37754 2007-03-08  Bruno Haible  <bruno@clisp.org>
37755
37756         * modules/fprintf-posix-tests: New file.
37757         * tests/test-fprintf-posix.sh: New file.
37758         * tests/test-fprintf-posix.c: New file.
37759
37760         * modules/fprintf-posix: New file.
37761         * lib/fprintf.c: New file.
37762         * m4/fprintf-posix.m4: New file.
37763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
37764         REPLACE_FPRINTF.
37765         * lib/stdio_.h (fprintf): New declaration.
37766         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
37767         REPLACE_FPRINTF.
37768
37769 2007-03-08  Bruno Haible  <bruno@clisp.org>
37770
37771         * modules/vfprintf-posix-tests: New file.
37772         * tests/test-vfprintf-posix.sh: New file.
37773         * tests/test-vfprintf-posix.c: New file.
37774         * tests/test-fprintf-posix.h: New file.
37775         * tests/test-fprintf-posix.out: New file.
37776
37777         * modules/vfprintf-posix: New file.
37778         * lib/vfprintf.c: New file.
37779         * m4/vfprintf-posix.m4: New file.
37780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
37781         REPLACE_VFPRINTF.
37782         * lib/stdio_.h (vfprintf): New declaration.
37783         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
37784         REPLACE_VFPRINTF.
37785
37786 2007-03-08  Bruno Haible  <bruno@clisp.org>
37787
37788         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
37789
37790 2007-03-08  Bruno Haible  <bruno@clisp.org>
37791
37792         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
37793         instead of 'expr' invocations.
37794         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37797         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37798         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37799         Suggested by Paul Eggert.
37800
37801 2007-03-08  Bruno Haible  <bruno@clisp.org>
37802
37803         * modules/fseterr-tests: New file.
37804         * tests/test-fseterr.c: New file.
37805
37806         * modules/fseterr: New file.
37807         * lib/fseterr.h: New file.
37808         * lib/fseterr.c: New file.
37809
37810 2007-03-08  Bruno Haible  <bruno@clisp.org>
37811
37812         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
37813         * lib/getopt_.h: Likewise.
37814         * lib/mbswidth.h: Likewise.
37815         * lib/setenv.h: Likewise.
37816         * lib/vasnprintf.h: Likewise.
37817         * lib/vasprintf.h: Likewise.
37818         * lib/verror.h: Likewise.
37819         * lib/xsetenv.h: Likewise.
37820         * lib/xvasprintf.h: Likewise.
37821
37822 2007-03-08  Jim Meyering  <jim@meyering.net>
37823
37824         * users.txt: Add parted.
37825
37826         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
37827
37828 2007-03-07  Bruno Haible  <bruno@clisp.org>
37829
37830         * m4/printf.m4: Make the shell script snippets copy&pastable.
37831
37832 2007-03-02  Bruno Haible  <bruno@clisp.org>
37833
37834         * lib/netinet_in_.h: New file.
37835         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
37836         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
37837         * modules/netinet_in (Files): Add lib/netinet_in_.h.
37838         (Depends-on): Add absolute-header.
37839         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
37840         into netinet/in.h.
37841
37842 2007-03-03  Bruno Haible  <bruno@clisp.org>
37843
37844         * lib/sys_select_.h: New file.
37845         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
37846         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
37847         * modules/sys_select (Files): Add lib/sys_select_.h.
37848         (Depends-on): Add absolute-header.
37849         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
37850         into sys/select.h.
37851
37852 2007-03-02  Bruno Haible  <bruno@clisp.org>
37853
37854         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
37855         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
37856         values.
37857         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
37858         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
37859         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
37860         * modules/sys_socket (Depends-on): Add absolute-header.
37861         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
37862         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
37863         (Include): Remove requirement of inclusion of <sys/types.h>.
37864
37865 2007-03-02  Bruno Haible  <bruno@clisp.org>
37866
37867         * lib/byteswap_.h (bswap_32): Fix formula.
37868
37869 2007-03-06  Bruno Haible  <bruno@clisp.org>
37870
37871         * modules/sprintf-posix-tests: New file.
37872         * tests/test-sprintf-posix.c: New file.
37873
37874         * modules/sprintf-posix: New file.
37875         * lib/sprintf.c: New file.
37876         * m4/sprintf-posix.m4: New file.
37877         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
37878         REPLACE_SPRINTF.
37879         * lib/stdio_.h (sprintf): New declaration.
37880         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
37881         REPLACE_SPRINTF.
37882
37883 2007-03-06  Bruno Haible  <bruno@clisp.org>
37884
37885         * modules/vsprintf-posix-tests: New file.
37886         * tests/test-vsprintf-posix.c: New file.
37887         * tests/test-sprintf-posix.h: New file.
37888
37889         * modules/vsprintf-posix: New file.
37890         * lib/vsprintf.c: New file.
37891         * m4/vsprintf-posix.m4: New file.
37892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
37893         REPLACE_VSPRINTF.
37894         * lib/stdio_.h (vsprintf): New declaration.
37895         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
37896         REPLACE_VSPRINTF.
37897
37898 2007-03-06  Bruno Haible  <bruno@clisp.org>
37899
37900         * modules/vsnprintf (Depend-on): Remove minmax.
37901
37902 2007-03-06  Bruno Haible  <bruno@clisp.org>
37903
37904         * modules/snprintf-posix-tests: New file.
37905         * tests/test-snprintf-posix.c: New file.
37906
37907         * modules/snprintf-posix: New file.
37908         * m4/snprintf-posix.m4: New file.
37909         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
37910         gl_FUNC_SNPRINTF.
37911         (gl_FUNC_SNPRINTF): Invoke it.
37912         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
37913         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
37914         is set.
37915         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
37916
37917 2007-03-06  Bruno Haible  <bruno@clisp.org>
37918
37919         * modules/vsnprintf-posix-tests: New file.
37920         * tests/test-vsnprintf-posix.c: New file.
37921         * tests/test-snprintf-posix.h: New file.
37922
37923         * modules/vsnprintf-posix: New file.
37924         * m4/vsnprintf-posix.m4: New file.
37925         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
37926         gl_FUNC_VSNPRINTF.
37927         (gl_FUNC_VSNPRINTF): Invoke it.
37928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
37929         * lib/stdio_.h (vsnprintf): Define as a replacement if
37930         REPLACE_VSNPRINTF is set.
37931         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
37932
37933 2007-03-06  Bruno Haible  <bruno@clisp.org>
37934
37935         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
37936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
37937
37938 2007-03-06  Bruno Haible  <bruno@clisp.org>
37939
37940         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
37941         (asinl): Declare also if HAVE_DECL_ASINL is set.
37942         (atanl): Declare also if HAVE_DECL_ATANL is set.
37943         (ceill): Declare also if HAVE_DECL_CEILL is set.
37944         (cosl): Declare also if HAVE_DECL_COSL is set.
37945         (expl): Declare also if HAVE_DECL_EXPL is set.
37946         (floorl): Declare also if HAVE_DECL_FLOORL is set.
37947         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
37948         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
37949         (logl): Declare also if HAVE_DECL_LOGL is set.
37950         (sinl): Declare also if HAVE_DECL_SINL is set.
37951         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
37952         (tanl): Declare also if HAVE_DECL_TANL is set.
37953         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
37954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
37955         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
37956         declaration of frexpl, ldexpl.
37957         * modules/printf-frexpl (Depends-on): Add math.
37958         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
37959
37960 2007-03-05  Bruno Haible  <bruno@clisp.org>
37961
37962         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
37963         frexpl and ldexpl are declared.
37964         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
37965
37966 2007-03-05  Bruno Haible  <bruno@clisp.org>
37967
37968         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
37969         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
37970
37971 2007-03-05  Bruno Haible  <bruno@clisp.org>
37972
37973         * lib/stdio_.h: Include <stddef.h>.
37974
37975 2007-03-05  Bruno Haible  <bruno@clisp.org>
37976
37977         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
37978
37979 2007-03-05  Bruno Haible  <bruno@clisp.org>
37980
37981         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
37982         NetBSD 4, from Ralf Wildenhues.
37983
37984 2007-03-04  Bruno Haible  <bruno@clisp.org>
37985
37986         * lib/vasprintf.h: Update #if logic for the case when the functions
37987         exist but are overridden.
37988
37989 2007-03-04  Bruno Haible  <bruno@clisp.org>
37990
37991         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
37992         implementations: glibc-2.4 and MacOS X 10.3.
37993         * tests/test-vasnprintf-posix.c (test_function): Test also the case
37994         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
37995         * tests/test-vasprintf-posix.c (test_function): Likewise.
37996
37997 2007-03-04  Bruno Haible  <bruno@clisp.org>
37998
37999         * modules/vasprintf-posix-tests: New file.
38000         * tests/test-vasprintf-posix.c: New file.
38001
38002         * modules/vasprintf-posix: New file.
38003         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38004         defined.
38005         * m4/vasprintf-posix.m4: New file.
38006         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38007         gl_FUNC_VASPRINTF.
38008         (gl_FUNC_VASPRINTF): Invoke it.
38009         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38010         here.
38011         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38012
38013 2007-03-04  Bruno Haible  <bruno@clisp.org>
38014
38015         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38016         REPLACE_GETTIMEOFDAY.
38017         * modules/sys_time (Makefile.am): Likewise.
38018         * m4/sys_time_h.m4: Likewise.
38019         * m4/gettimeofday.m4: Likewise.
38020
38021 2007-03-04  Bruno Haible  <bruno@clisp.org>
38022
38023         * modules/vasnprintf-posix-tests: New file.
38024         * tests/test-vasnprintf-posix.c: New file.
38025
38026         * modules/vasnprintf-posix: New file.
38027         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38028         printf-frexpl.h.
38029         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38030         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38031         REPLACE_VASNPRINTF is defined.
38032         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38033         gl_FUNC_VASNPRINTF.
38034         (gl_FUNC_VASNPRINTF): Invoke it.
38035         * m4/vasnprintf-posix.m4: New file.
38036         * m4/printf.m4: New file.
38037
38038 2007-03-04  Bruno Haible  <bruno@clisp.org>
38039
38040         Compile progreloc.c only if --enable-relocatable is specified.
38041         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38042         if --enable-relocatable was specified.
38043         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38044         lib_SOURCES.
38045
38046 2007-03-04  Jim Meyering  <jim@meyering.net>
38047
38048         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38049         Use it consistently, rather than enumerating errno constants.
38050
38051 2007-03-04  Bruno Haible  <bruno@clisp.org>
38052
38053         * modules/xvasprintf-tests: New file.
38054         * tests/test-xvasprintf.c: New file.
38055
38056         * modules/vasprintf-tests: New file.
38057         * tests/test-vasprintf.c: New file.
38058
38059         * modules/vasnprintf-tests: New file.
38060         * tests/test-vasnprintf.c: New file.
38061
38062         * modules/vsnprintf-tests: New file.
38063         * tests/test-vsnprintf.c: New file.
38064
38065         * modules/snprintf-tests: New file.
38066         * tests/test-snprintf.c: New file.
38067
38068 2007-03-04  Bruno Haible  <bruno@clisp.org>
38069
38070         Compile relocatable.c only if --enable-relocatable is specified.
38071         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38072         gl_RELOCATABLE_LIBRARY.
38073         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38074         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38075         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38076         gl_RELOCATABLE_LIBRARY.
38077         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38078         (Makefile.am): Remove lib_SOURCES.
38079         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38080         gl_RELOCATABLE_LIBRARY.
38081         (Makefile.am): Remove lib_SOURCES.
38082         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38083         always.
38084         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38085         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38086
38087 2007-03-04  Bruno Haible  <bruno@clisp.org>
38088
38089         * modules/argmatch-tests: New file.
38090         * tests/test-argmatch.c: New file.
38091
38092         * tests/test-allocsa.c (main): Halve the number of loop runs.
38093
38094         * modules/alloca-opt-tests: New file.
38095         * tests/test-alloca-opt.c: New file.
38096
38097 2007-03-04  Jim Meyering  <jim@meyering.net>
38098
38099         Work around difference between Linux ACLs and Solaris 10 ZFS.
38100         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38101         for EINVAL.
38102
38103 2007-03-03  Bruno Haible  <bruno@clisp.org>
38104
38105         * modules/relocatable-prog (Depends-on): Add back progreloc's
38106         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38107
38108 2007-03-03  Bruno Haible  <bruno@clisp.org>
38109
38110         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38111         * modules/relocatable-lib: New file.
38112
38113 2007-03-03  Bruno Haible  <bruno@clisp.org>
38114
38115         * modules/relocatable-prog: Renamed from modules/relocatable.
38116         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38117
38118 2007-03-03  Bruno Haible  <bruno@clisp.org>
38119
38120         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38121         m4/relocatable-lib.m4.
38122         (Depends-on): Remove 'relocatable'.
38123         (configure.ac): Add gl_RELOCATABLE_NOP.
38124
38125 2007-03-03  Bruno Haible  <bruno@clisp.org>
38126
38127         * modules/relocatable-prog-wrapper: New file.
38128         * modules/relocatable (Depends-on): Add it. Remove all other
38129         dependencies except progname.
38130         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38131
38132         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38133         (gl_FUNC_STRERROR): Nop.
38134         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38135
38136         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38137         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38138
38139         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38140         (gl_FUNC_READLINK): Update.
38141
38142         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38143
38144 2007-03-03  Bruno Haible  <bruno@clisp.org>
38145
38146         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38147         * modules/xreadlink (Depends-on): Add unistd.
38148         * modules/xreadlink-with-size (Depends-on): Likewise.
38149
38150 2007-03-03  Bruno Haible  <bruno@clisp.org>
38151
38152         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38153         extracted from gt_FUNC_SETENV.
38154         (gt_FUNC_SETENV): Remove macro.
38155         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38156         remove gt_FUNC_SETENV.
38157
38158 2007-03-03  Bruno Haible  <bruno@clisp.org>
38159
38160         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
38161         ENABLE_RELOCATABLE here.
38162         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
38163
38164 2007-03-03  Bruno Haible  <bruno@clisp.org>
38165
38166         * modules/rbtreehash-list-tests (Depends-on): Add progname.
38167         * tests/test-rbtreehash_list.c: Include progname.h.
38168         (main): Call set_program_name.
38169
38170         * modules/rbtree-oset-tests (Depends-on): Add progname.
38171         * tests/test-rbtree_oset.c: Include progname.h.
38172         (main): Call set_program_name.
38173
38174         * modules/rbtree-list-tests (Depends-on): Add progname.
38175         * tests/test-rbtree_list.c: Include progname.h.
38176         (main): Call set_program_name.
38177
38178         * modules/linked-list-tests (Depends-on): Add progname.
38179         * tests/test-linked_list.c: Include progname.h.
38180         (main): Call set_program_name.
38181
38182 2007-03-03  Bruno Haible  <bruno@clisp.org>
38183
38184         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
38185         All uses of __restrict changed to _Restrict_.
38186         * lib/glob_.h (__restrict): Remove macro.
38187
38188 2007-03-02  Bruno Haible  <bruno@clisp.org>
38189
38190         * modules/gettext (configure.ac): Require gettext infrastructure
38191         from version 0.16.1.
38192
38193 2007-03-02  Bruno Haible  <bruno@clisp.org>
38194
38195         * modules/linkedhash-list-tests (Depends-on): Add progname.
38196         * tests/test-linkedhash_list.c: Include progname.h.
38197         (main): Call set_program_name.
38198
38199         * modules/carray-list-tests (Depends-on): Add progname.
38200         * tests/test-carray_list.c: Include progname.h.
38201         (main): Call set_program_name.
38202
38203         * modules/avltreehash-list-tests (Depends-on): Add progname.
38204         * tests/test-avltreehash_list.c: Include progname.h.
38205         (main): Call set_program_name.
38206
38207         * modules/avltree-oset-tests (Depends-on): Add progname.
38208         * tests/test-avltree_oset.c: Include progname.h.
38209         (main): Call set_program_name.
38210
38211         * modules/avltree-list-tests (Depends-on): Add progname.
38212         * tests/test-avltree_list.c: Include progname.h.
38213         (main): Call set_program_name.
38214
38215         * modules/array-oset-tests (Depends-on): Add progname.
38216         * tests/test-array_oset.c: Include progname.h.
38217         (main): Call set_program_name.
38218
38219         * modules/array-list-tests (Depends-on): Add progname.
38220         * tests/test-array_list.c: Include progname.h.
38221         (main): Call set_program_name.
38222
38223         * modules/argp-tests (Depends-on): Add progname.
38224         * tests/test-argp.c: Include argp.h first. Include progname.h.
38225         (main): Call set_program_name.
38226
38227 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38228
38229         * doc/gnulib-tool.texi (Initial import): Reword description of
38230         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38231         limited effect even if defined after the first system include.
38232
38233 2007-03-01  Bruno Haible  <bruno@clisp.org>
38234
38235         * build-aux/config.libpath: Update to libtool-1.5.22.
38236         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38237
38238 2007-03-01  Bruno Haible  <bruno@clisp.org>
38239
38240         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38241         foo_CFLAGS.
38242         Reported by Ralf Wildenhues.
38243
38244 2007-03-01  Bruno Haible  <bruno@clisp.org>
38245
38246         * build-aux/install-reloc: Remove object files left over by some
38247         compilers.
38248         Reported by Ralf Wildenhues.
38249
38250 2007-03-01  Bruno Haible  <bruno@clisp.org>
38251
38252         * build-aux/install-reloc: Break long lines.
38253
38254 2007-03-01  Bruno Haible  <bruno@clisp.org>
38255
38256         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38257         Reported by Ralf Wildenhues.
38258
38259 2007-03-01  Bruno Haible  <bruno@clisp.org>
38260
38261         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38262         include ordering constraints.
38263
38264 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38265
38266         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38267         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38268         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38269         as another example.
38270         * lib/time_.h: Fix misspelling.
38271         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38272         Require gl_HEADER_TIME_H_DEFAULTS.
38273         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38274         * m4/time_r.m4 (gl_TIME_R): Likewise.
38275         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38276
38277 2007-03-01  Bruno Haible  <bruno@clisp.org>
38278
38279         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38280         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38281
38282 2007-03-01  Jim Meyering  <jim@meyering.net>
38283
38284         * modules/xreadlink (Maintainer): Add my name.
38285         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38286
38287 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38288             Bruno Haible  <bruno@clisp.org>
38289
38290         * build-aux/install-reloc: Compile also c-ctype.c.
38291         * build-aux/relocatable.sh.in: New file.
38292         * doc/relocatable.texi: New file.
38293         * doc/relocatable-maint.texi: New file.
38294         * doc/gnulib.texi: Include relocatable-maint.texi.
38295         * lib/progreloc.c: Include unistd.h unconditionally.
38296         * lib/relocwrapper.c: Include unistd.h unconditionally.
38297         Include c-ctype.h.
38298         (add_dotbin): Use c_tolower.
38299         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38300         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38301         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38302         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38303         to m4/relocatable-lib.m4.
38304         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38305         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38306         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38307         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38308         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38309         * modules/relocatable: New file.
38310         * modules/relocatable-lib: New file.
38311         * modules/relocatable-script: New file.
38312
38313 2007-02-28  Bruno Haible  <bruno@clisp.org>
38314
38315         Import --enable-relocatable infrastructure.
38316         * build-aux/config.libpath: New file, from GNU gettext.
38317         * build-aux/install-reloc: New file, from GNU gettext.
38318         * build-aux/reloc-ldflags: New file, from GNU gettext.
38319         * lib/relocatable.h: New file, from GNU gettext.
38320         * lib/relocatable.c: New file, from GNU gettext.
38321         * lib/relocwrapper.c: New file, from GNU gettext.
38322         * m4/relocatable.m4: New file, from GNU gettext.
38323
38324 2007-02-28  Bruno Haible  <bruno@clisp.org>
38325
38326         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38327
38328         * modules/xreadlink: New file, from GNU gettext with modifications.
38329         * lib/xreadlink.c: New file, from GNU gettext.
38330         * lib/xreadlink.h: Add comments.
38331         (xreadlink): New declaration.
38332
38333         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38334         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38335         lib/xreadlink-with-size.c.
38336         (configure.ac): Remove gl_XREADLINK invocation.
38337         (Makefile.am): Augment lib_SOURCES.
38338         * m4/xreadlink.m4: Remove file.
38339         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38340         (xreadlink_with_size): Renamed from xreadink.
38341         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38342         * modules/canonicalize (Depends-on): Replace xreadlink with
38343         xreadlink-with-size.
38344         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38345
38346 2007-02-25  Jim Meyering  <jim@meyering.net>
38347
38348         * build-aux/announce-gen: When complaining about excess arguments,
38349         list them.
38350
38351 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38352
38353         * README: Document signed integer overflow situation more
38354         accurately.
38355
38356 2007-02-25  Bruno Haible  <bruno@clisp.org>
38357
38358         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38359         'a' or 'A' conversion.
38360
38361 2007-02-25  Bruno Haible  <bruno@clisp.org>
38362
38363         * modules/filename: Renamed from modules/pathname.
38364         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38365         lib/concatpath.c with lib/concat-filename.c.
38366         (Makefile.am): Update.
38367         (Include): Replace pathname.h with filename.h.
38368         * lib/filename.h: Renamed from lib/pathname.h.
38369         (concatenated_filename): Renamed from concatenated_pathname.
38370         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38371         (concatenated_filename): Renamed from concatenated_pathname.
38372         * lib/findprog.c: Include filename.h instead of pathname.h.
38373         (find_in_path): Update.
38374         * lib/javacomp.c: Include filename.h instead of pathname.h.
38375         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38376         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38377         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38378         is_oldgcj_14_13_usable, is_javac_usable): Update.
38379         * lib/javaexec.c: Include filename.h instead of pathname.h.
38380         (execute_java_class): Update.
38381         * modules/findprog: Update.
38382         * modules/javacomp: Update.
38383         * modules/javaexec: Update.
38384         * MODULES.html.sh (File system functions): Add 'filename', remove
38385         'pathname'.
38386
38387 2007-02-25  Bruno Haible  <bruno@clisp.org>
38388
38389         * modules/printf-frexpl-tests: New file.
38390         * tests/test-printf-frexpl.c: New file.
38391
38392         * modules/printf-frexpl: New file.
38393         * lib/printf-frexpl.h: New file.
38394         * lib/printf-frexpl.c: New file.
38395         * m4/printf-frexpl.m4: New file.
38396
38397 2007-02-25  Bruno Haible  <bruno@clisp.org>
38398
38399         * modules/printf-frexp-tests: New file.
38400         * tests/test-printf-frexp.c: New file.
38401
38402         * modules/printf-frexp: New file.
38403         * lib/printf-frexp.h: New file.
38404         * lib/printf-frexp.c: New file.
38405         * m4/printf-frexp.m4: New file.
38406
38407 2007-02-25  Bruno Haible  <bruno@clisp.org>
38408
38409         Assume automake >= 1.10 for the tests.
38410         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38411         * modules/arctwo-tests: Likewise.
38412         * modules/argp-tests: Likewise.
38413         * modules/avltree-list-tests: Likewise.
38414         * modules/avltree-oset-tests: Likewise.
38415         * modules/avltreehash-list-tests: Likewise.
38416         * modules/carray-list-tests: Likewise.
38417         * modules/crc-tests: Likewise.
38418         * modules/des-tests: Likewise.
38419         * modules/gc-arcfour-tests: Likewise.
38420         * modules/gc-arctwo-tests: Likewise.
38421         * modules/gc-des-tests: Likewise.
38422         * modules/gc-hmac-md5-tests: Likewise.
38423         * modules/gc-hmac-sha1-tests: Likewise.
38424         * modules/gc-md2-tests: Likewise.
38425         * modules/gc-md4-tests: Likewise.
38426         * modules/gc-md5-tests: Likewise.
38427         * modules/gc-pbkdf2-sha1-tests: Likewise.
38428         * modules/gc-rijndael-tests: Likewise.
38429         * modules/gc-sha1-tests: Likewise.
38430         * modules/gc-tests: Likewise.
38431         * modules/getaddrinfo-tests: Likewise.
38432         * modules/hmac-md5-tests: Likewise.
38433         * modules/hmac-sha1-tests: Likewise.
38434         * modules/linked-list-tests: Likewise.
38435         * modules/linkedhash-list-tests: Likewise.
38436         * modules/lock-tests: Likewise.
38437         * modules/md2-tests: Likewise.
38438         * modules/md4-tests: Likewise.
38439         * modules/md5-tests: Likewise.
38440         * modules/rbtree-list-tests: Likewise.
38441         * modules/rbtree-oset-tests: Likewise.
38442         * modules/rbtreehash-list-tests: Likewise.
38443         * modules/read-file-tests: Likewise.
38444         * modules/rijndael-tests: Likewise.
38445         * modules/stdint-tests: Likewise.
38446         * modules/tls-tests: Likewise.
38447
38448 2007-02-24  Bruno Haible  <bruno@clisp.org>
38449
38450         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38451         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38452         function; instead check whether isnan with a double argument links.
38453         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38454         function; instead check whether isnan with a 'long double' argument
38455         links.
38456         Reported by Eric Blake <ebb9@byu.net>.
38457
38458 2007-02-24  Bruno Haible  <bruno@clisp.org>
38459
38460         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38461         defined.
38462         * lib/isnanl.c: Remove all code. Just include isnan.c.
38463         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38464
38465 2007-02-25  Jim Meyering  <jim@meyering.net>
38466
38467         Avoid conflicting types for 'unsetenv' on FreeBSD.
38468         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38469         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38470         in stdlib.h.
38471
38472 2007-02-24  Bruno Haible  <bruno@clisp.org>
38473
38474         * modules/isnanl-nolibm-tests: New file.
38475         * tests/test-isnanl.c: New file.
38476
38477         * modules/isnanl-nolibm: New file.
38478         * lib/isnanl.h: New file.
38479         * lib/isnanl.c: New file.
38480         * m4/isnanl.m4: New file.
38481
38482 2007-02-24  Bruno Haible  <bruno@clisp.org>
38483
38484         * modules/isnan-nolibm-tests: New file.
38485         * tests/test-isnan.c: New file.
38486
38487         * modules/isnan-nolibm: New file.
38488         * lib/isnan.h: New file.
38489         * lib/isnan.c: New file.
38490         * m4/isnan.m4: New file.
38491
38492 2007-02-24  Bruno Haible  <bruno@clisp.org>
38493
38494         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38495         assume that an exponent fits in 20 bits.
38496
38497 2007-02-24  Jim Meyering  <jim@meyering.net>
38498
38499         * m4/regex.m4: Update the description of the configure-time option,
38500         --without-included-regex, to state accurately what the defaults are,
38501         and perhaps to give people an idea why using this option is risky.
38502
38503 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38504
38505         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38506         loops on small arguments.  This attempts to avoid the problem
38507         Bruno Haible reported for AIX 4.3.2 in
38508         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38509
38510 2007-02-23  Bruno Haible  <bruno@clisp.org>
38511
38512         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38513         Needed for help2man.
38514
38515 2007-02-23  Karl Berry  <karl@gnu.org>
38516
38517         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38518         exists, foo.h should be cvs-ignored, not committed.
38519
38520 2007-02-23  Eric Blake  <ebb9@byu.net>
38521
38522         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38523         * lib/stat-time.h (includes): Likewise.
38524         * lib/utimecmp.c (includes): Likewise.
38525         * lib/utimens.h (includes): Likewise.
38526         * lib/getdate.y (includes): Also include "timespec.h" for use
38527         internal to the module.
38528         * modules/utimens (Depends-on): Revert yesterday's patch.
38529         * modules/nanosleep (Depends-on): Add missing dependency.
38530
38531 2007-02-22  Bruno Haible  <bruno@clisp.org>
38532
38533         * lib/glob.c: Don't include getlogin_r.h.
38534
38535 2007-02-22  Jim Meyering  <jim@meyering.net>
38536
38537         * modules/utimens (Depends-on): Add timespec, required for
38538         utimens.h's inclusion of timespec.h.
38539
38540 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38541
38542         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38543         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38544         Schwab in
38545         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38546         I'll try to think of a better way to fix the Solaris problem.
38547
38548         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38549         like glibc; on Solaris 10, it fails with errno == EINVAL.
38550         POSIX says the behavior is unspecified if the first argument is NULL,
38551         so play it safe and never pass NULL to the system getcwd.
38552
38553 2007-02-21  Jim Meyering  <jim@meyering.net>
38554
38555         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38556         of gettimeofday.  It would conflict with the one now always
38557         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38558         an IRIX 6.5 build failure.
38559
38560 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38561
38562         Minor fixups to port to Solaris 10 with Sun C 5.8.
38563         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38564         * modules/getcwd (Depends-on): Add dirfd.
38565         * lib/putenv.c (putenv): #undef it.
38566         (rpl_putenv): New decl.
38567         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38568
38569 2007-02-20  Bruno Haible  <bruno@clisp.org>
38570
38571         * modules/stdio-tests: New file.
38572         * tests/test-stdio.c: New file.
38573
38574         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38575         (Depends-on): Add stdio.
38576         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38577         (Include): Use <stdio.h> instead of vsnprintf.h.
38578         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38579         HAVE_DECL_VSNPRINTF.
38580         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38581
38582         * modules/snprintf (Files): Remove lib/snprintf.h.
38583         (Depends-on): Add stdio.
38584         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38585         (Include): Use <stdio.h> instead of snprintf.h.
38586         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38587         HAVE_DECL_SNPRINTF.
38588         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38589         * lib/getaddrinfo.c: Likewise.
38590
38591         * modules/stdio: New file.
38592         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38593         * lib/snprintf.h: Remove file.
38594         * lib/vsnprintf.h: Remove file.
38595         * lib/.cppi-disable: Remove snprintf.h.
38596         * m4/stdio_h.m4: New file.
38597         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38598
38599 2007-02-20  Jim Meyering  <jim@meyering.net>
38600
38601         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38602         used by e.g., mingw.  From Bruno Haible.
38603
38604 2007-02-19  Bruno Haible  <bruno@clisp.org>
38605
38606         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38607         warnings.
38608         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38609
38610 2007-02-19  Bruno Haible  <bruno@clisp.org>
38611
38612         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38613         from mingw users.
38614
38615 2007-02-19  Bruno Haible  <bruno@clisp.org>
38616
38617         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38618         warnings.
38619         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38620
38621 2007-02-19  Jim Meyering  <jim@meyering.net>
38622
38623         Don't use FD after a successful "fdopendir (fd)".
38624         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38625         Reset it by calling dirfd on the just-obtained DIR*.
38626
38627         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38628         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38629
38630 2007-02-18  Bruno Haible  <bruno@clisp.org>
38631
38632         * lib/readlink.c: Include <unistd.h>.
38633         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38634         HAVE_READLINK.
38635         * modules/readlink (Depends-on): Add unistd.
38636         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38637         (Include): Add <unistd.h>.
38638
38639         * lib/getlogin_r.h: Remove file.
38640         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
38641         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
38642         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
38643         HAVE_DECL_GETLOGIN_R.
38644         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
38645         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38646         (Include): Use <unistd.h> instead of getlogin_r.h.
38647
38648         * lib/getcwd.h: Remove file.
38649         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
38650         * lib/xgetcwd.c: Likewise.
38651         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
38652         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
38653         * modules/getcwd (Files): Remove lib/getcwd.h.
38654         (Depends-on): Add unistd.
38655         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38656         (Include): Use <unistd.h> instad of getcwd.h.
38657
38658         * lib/ftruncate.c: Include <unistd.h> first.
38659         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
38660         Set HAVE_FTRUNCATE.
38661         * modules/ftruncate (Depends-on): Add unistd.
38662         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38663
38664         * lib/fchdir.c: Include <unistd.h> first.
38665         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
38666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
38667         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
38668         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38669         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
38670
38671         * lib/dup2.c: Include <unistd.h> first.
38672         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
38673         HAVE_DUP2.
38674         * modules/dup2 (Depends-on): Add unistd.
38675         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38676
38677         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
38678         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
38679         REPLACE_CHOWN. Don't define chown as a macro here.
38680         * modules/chown (Depends-on): Add unistd.
38681         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38682
38683         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
38684         Add definition for GL_LINK_WARNING.
38685         (chown, dup2): New declarations.
38686         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
38687         link warning.
38688         (ftruncate): New declaration.
38689         (getcwd): New declaration, taken from old getcwd.h.
38690         (getlogin_r): New declaration, taken from old getlogin_r.h.
38691         (readlink): New declaration.
38692         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
38693         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
38694         (gl_PREREQ_UNISTD): Remove macro.
38695         (gl_UNISTD_MODULE_INDICATOR): New macro.
38696         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
38697         many new variables. Don't set UNISTD_H.
38698         * modules/unistd (Description): Change.
38699         (Depends-on): Add link-warning.
38700         (configure.ac): Update.
38701         (Makefile.am): Create unistd.h always. Substitute many new variables
38702         into it.
38703
38704 2007-02-18  Bruno Haible  <bruno@clisp.org>
38705
38706         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
38707         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
38708         HAVE_GETSUBOPT.
38709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
38710         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
38711         * lib/getsubopt.h: Remove file.
38712         * modules/getsubopt (Files): Remove lib/getsubopt.h.
38713         (Depends-on): Add stdlib.
38714         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38715         (Includes): Use <stdlib.h> instead of getsubopt.h.
38716         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
38717         Set HAVE_GETSUBOPT.
38718         * lib/getsubopt.c: Don't include getsubopt.h.
38719
38720 2007-02-18  Bruno Haible  <bruno@clisp.org>
38721
38722         * modules/fchdir (Depends-on): Add dup2.
38723
38724 2007-02-18  Bruno Haible  <bruno@clisp.org>
38725
38726         * lib/stdlib_.h: Handle glibc's special invocation convention
38727         specially.
38728
38729 2007-02-18  Bruno Haible  <bruno@clisp.org>
38730
38731         * modules/stdlib-tests: New file.
38732         * tests/test-stdlib.c: New file.
38733
38734         * modules/mkstemp (Files): Remove lib/mkstemp.h.
38735         (Depends-on): Add stdlib.
38736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38737         (Includes): Use <stdlib.h> instead of mkstemp.h.
38738         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38739         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
38740         * lib/mkstemp.c: Don't include mkstemp.h.
38741         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
38742         * lib/stdlib--.h: Don't include mkstemp.h.
38743
38744         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
38745         (Depends-on): Add stdlib.
38746         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38747         (Includes): Use <stdlib.h> instead of mkdtemp.h.
38748         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38749         HAVE_MKDTEMP.
38750         * lib/mkdtemp.c: Don't include mkdtemp.h.
38751         * lib/clean-temp.c: Don't include mkdtemp.h.
38752
38753         * modules/exit (Files): Remove lib/exit.h.
38754         (Depends-on): Add stdlib.
38755         (Makefile.am): Remove lib_SOURCES.
38756         (Include): Use <stdlib.h> instead of exit.h.
38757         * lib/argmatch.c: Don't include exit.h.
38758         * lib/execute.c: Likewise.
38759         * lib/pagealign_alloc.c: Likewise.
38760         * lib/pipe.c: Likewise.
38761         * lib/wait-process.c: Likewise.
38762         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
38763         * lib/exitfail.c: Likewise.
38764         * lib/savewd.c: Likewise.
38765         * lib/xsetenv.c: Likewise.
38766
38767         * modules/stdlib: New file.
38768         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
38769         and extra comments about mkstemp().
38770         * lib/exit.h: Remove file.
38771         * lib/mkdtemp.h: Remove file.
38772         * lib/mkstemp.h: Remove file.
38773         * m4/stdlib_h.m4: New file.
38774         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
38775
38776 2007-02-18  Bruno Haible  <bruno@clisp.org>
38777
38778         * modules/math-tests: New file.
38779         * tests/test-math.c: New file.
38780
38781         * modules/math: New file.
38782         * modules/mathl (Files): Remove lib/mathl.h.
38783         (Depends-on): Add math.
38784         (Makefile.am): Don't mention mathl.h.
38785         (Include): Use <math.h> instead of mathl.h.
38786         * lib/math_.h: New file.
38787         * lib/mathl.h: Remove file.
38788         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
38789         mathl.h.
38790         * lib/asinl.c: Likewise.
38791         * lib/atanl.c: Likewise.
38792         * lib/ceill.c: Likewise.
38793         * lib/cosl.c: Likewise.
38794         * lib/expl.c: Likewise.
38795         * lib/floorl.c: Likewise.
38796         * lib/frexpl.c: Likewise.
38797         * lib/ldexpl.c: Likewise.
38798         * lib/logl.c: Likewise.
38799         * lib/sincosl.c: Likewise.
38800         * lib/sinl.c: Likewise.
38801         * lib/sqrtl.c: Likewise.
38802         * lib/tanl.c: Likewise.
38803         * lib/trigl.c: Likewise.
38804         * m4/math_h.m4: New file.
38805         * MODULES.html.sh (Mathematics): Add math.
38806
38807 2007-02-17  Bruno Haible  <bruno@clisp.org>
38808
38809         * modules/wctype-tests: New file.
38810         * tests/test-wctype.c: New file.
38811
38812         * modules/wchar-tests: New file.
38813         * tests/test-wchar.c: New file.
38814
38815         * modules/unistd-tests: New file.
38816         * tests/test-unistd.c: New file.
38817
38818         * modules/time-tests: New file.
38819         * tests/test-time.c: New file.
38820
38821         * modules/sysexits-tests: New file.
38822         * tests/test-sysexits.c: New file.
38823
38824         * modules/sys_time-tests: New file.
38825         * tests/test-sys_time.c: New file.
38826
38827         * modules/sys_stat-tests: New file.
38828         * tests/test-sys_stat.c: New file.
38829
38830         * modules/sys_socket-tests: New file.
38831         * tests/test-sys_socket.c: New file.
38832
38833         * modules/sys_select-tests: New file.
38834         * tests/test-sys_select.c: New file.
38835
38836         * modules/string-tests: New file.
38837         * tests/test-string.c: New file.
38838
38839         * modules/stdbool-tests: New file.
38840         * tests/test-stdbool.c: New file.
38841
38842         * modules/netinet_in-tests: New file.
38843         * tests/test-netinet_in.c: New file.
38844
38845         * modules/inttypes-tests: New file.
38846         * tests/test-inttypes.c: New file.
38847
38848         * modules/fcntl-tests: New file.
38849         * tests/test-fcntl.c: New file.
38850
38851         * modules/byteswap-tests: New file.
38852         * tests/test-byteswap.c: New file.
38853
38854         * modules/arpa_inet-tests: New file.
38855         * tests/test-arpa_inet.c: New file.
38856
38857 2007-02-17  Bruno Haible  <bruno@clisp.org>
38858
38859         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
38860         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
38861         if the corresponding module is not enabled. Emit link warnings if
38862         the function is used nevertheless.
38863         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
38864         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
38865         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
38866         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
38867         * modules/inttypes (Depends-on): Add link-warning.
38868         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38869         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
38870         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
38871         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
38872         * modules/imaxdiv (configure.ac): Likewise.
38873         * modules/strtoimax (configure.ac): Likewise.
38874         * modules/strtoumax (configure.ac): Likewise.
38875
38876 2007-02-17  Bruno Haible  <bruno@clisp.org>
38877
38878         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
38879         gl_STRING_MODULE_INDICATOR_DEFAULTS.
38880         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
38881         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
38882
38883 2007-02-17  Bruno Haible  <bruno@clisp.org>
38884
38885         * modules/link-warning: New file.
38886         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
38887         * lib/string_.h (GL_LINK_WARNING): Remove definition.
38888         * modules/string (Depends-on): Add link-warning.
38889         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38890         string.h.
38891         * MODULES.html.sh (Support for building libraries and executables): Add
38892         link-warning.
38893
38894 2007-02-17  Bruno Haible  <bruno@clisp.org>
38895
38896         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
38897         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
38898         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
38899         long lines.
38900
38901 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
38902             Bruno Haible  <bruno@clisp.org>
38903
38904         * modules/tmpfile: New file.
38905         * lib/tmpfile.c: New file.
38906         * m4/tmpfile.m4: New file.
38907         * MODULES.html.sh (func_all_modules): New section "Input/output".
38908
38909 2007-02-15  Bruno Haible  <bruno@clisp.org>
38910
38911         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
38912         (supports_delete_on_close): New function.
38913         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
38914
38915 2007-02-14  Bruno Haible  <bruno@clisp.org>
38916
38917         * modules/mbspcasecmp-tests: New file.
38918         * tests/test-mbspcasecmp.sh: New file.
38919         * tests/test-mbspcasecmp.c: New file.
38920
38921         New module mbspcasecmp.
38922         * modules/mbspcasecmp: New file.
38923         * lib/mbspcasecmp.c: New file.
38924         * lib/string_.h (strncasecmp): Change warning message.
38925         (mbspcasecmp): New declaration.
38926         * m4/mbspcasecmp.m4: New file.
38927         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38928         GNULIB_MBSPCASECMP.
38929         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
38930         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
38931
38932 2007-02-14  Bruno Haible  <bruno@clisp.org>
38933
38934         * modules/mbsncasecmp-tests: New file.
38935         * tests/test-mbsncasecmp.sh: New file.
38936         * tests/test-mbsncasecmp.c: New file.
38937
38938         New module mbsncasecmp.
38939         * modules/mbsncasecmp: New file.
38940         * lib/mbsncasecmp.c: New file.
38941         * lib/string_.h (mbsncasecmp): New declaration.
38942         * m4/mbsncasecmp.m4: New file.
38943         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38944         GNULIB_MBSNCASECMP.
38945         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
38946         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
38947
38948 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
38949
38950         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
38951         Verify that it doesn't overlap with our flags.
38952         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
38953         do not have the desired effect in multibyte locales; instead, use
38954         mbscasecmp.
38955         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
38956         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
38957         we don't require GNU fnmatch ourselves (if our users require it, they
38958         should do so explicitly).
38959
38960         Fix regex code so it doesn't rely on strcasecmp.
38961         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
38962         Otherwise, include gnulib's langinfo.h.
38963         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
38964         undesirable behavior in non-C locales.  Instead, rely on localecharset.
38965         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
38966         * modules/regex (FILES): Remove m4/codeset.m4.
38967         (Depends-on): Add localcharset.  Remove strcase.
38968
38969 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38970
38971         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
38972         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
38973
38974 2007-02-13  Bruno Haible  <bruno@clisp.org>
38975
38976         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
38977         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38978
38979 2007-02-12  Bruno Haible  <bruno@clisp.org>
38980
38981         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
38982         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
38983         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
38984         time warning rather than a link error.
38985
38986 2007-02-12  Bruno Haible  <bruno@clisp.org>
38987
38988         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
38989         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38990         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38991
38992 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
38993
38994         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
38995         args, not 2.
38996
38997 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
38998
38999         New module 'time', so that apps can include <time.h> as per
39000         POSIX and GNU instead of separate include files like time_r.h
39001         and timegm.h.  This implementation tries out a simpler approach
39002         for replacing decls in standard include files (as compared to
39003         the string module), somewhat as an experiment.
39004
39005         * config/srclist.txt: Comment out mktime.c for now.
39006         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39007         since it doesn't apply any more.  Use generic wording instead.
39008         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39009         'time'.
39010         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39011         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39012         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39013         Don't include <sys/types.h>; no longer needed since we assume C89.
39014         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39015         * lib/strftime.c: Likewise.
39016         * lib/time_r.c: Likewise.
39017         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39018         * lib/nanosleep.c: Include <time.h> first, to check interface.
39019         * lib/strptime.c: Likewise.
39020         * lib/time_r.c: Likewise.
39021         * lib/timegm.c: Likewise.
39022         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39023         needed.
39024         * lib/timegm.c: Don't include timegm.h; no longer needed.
39025         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39026         time.h now handles any problems in that area.
39027         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39028         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39029         that time.h defines struct timespec.
39030         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39031         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39032         handles that.
39033         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39034         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39035         needed.  Set REPLACE_LOCALTIME.
39036         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39037         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39038         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39039         nanosleep; time_h.m4 now does that.  Don't require
39040         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39041         module handles this now.
39042         * modules/getdate (Depends-on): Remove timespec.  Add time.
39043         * modules/nanosleep (Depends-on): Likewise.
39044         * modules/stat-time (Depends-on): Likewise.
39045         * modules/nanosleep (Include): Include time.h, not timespec.h.
39046         * modules/strptime (Files): Remove lib/strptime.h.
39047         (Depends-on): Add extensions, time.
39048         (Include): Include time.h, not strptime.h.
39049         * modules/time_r (Files): Remove lib/time_r.h.
39050         (Depends-on): Add time.
39051         (Include): Include time.h, not time_r.h.
39052         * modules/timegm: Likewise.
39053         * modules/timespec (Description): Now does timespec-related decls
39054         of our own, instead of struct timespec itself.
39055         (Depends-on): Add time; remove extensions.
39056         (Maintainer): Add self.
39057         * modules/utimecmp (Depends-on): Add time; remove timespec.
39058         * modules/utimens (Depends-on): Likewise.
39059         * modules/xnanosleep (Depends-on): Likewise.
39060
39061 2007-02-11  Bruno Haible  <bruno@clisp.org>
39062
39063         * lib/c-strstr.c: Include allocsa.h.
39064         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39065         * lib/c-strcasestr.c: Include allocsa.h.
39066         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39067         * lib/strcasestr.c: Include allocsa.h.
39068         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39069         * lib/mbsstr.c: Include allocsa.h.
39070         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39071         allocsa/freesa instead of malloc/free.
39072         * lib/mbscasestr.c: Include allocsa.h.
39073         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39074         allocsa/freesa instead of malloc/free.
39075         * modules/c-strstr (Depends-on): Add allocsa.
39076         * modules/c-strcasestr (Depends-on): Likewise.
39077         * modules/strcasestr (Depends-on): Likewise.
39078         * modules/mbsstr (Depends-on): Likewise.
39079         * modules/mbscasestr (Depends-on): Likewise.
39080
39081 2007-02-11  Bruno Haible  <bruno@clisp.org>
39082
39083         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39084
39085         * modules/mbsspn-tests: New file.
39086         * tests/test-mbsspn.sh: New file.
39087         * tests/test-mbsspn.c: New file.
39088
39089 2007-02-11  Bruno Haible  <bruno@clisp.org>
39090
39091         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39092
39093         * modules/mbspbrk-tests: New file.
39094         * tests/test-mbspbrk.sh: New file.
39095         * tests/test-mbspbrk.c: New file.
39096
39097 2007-02-11  Bruno Haible  <bruno@clisp.org>
39098
39099         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39100         unneeded cast.
39101
39102         * modules/mbscspn-tests: New file.
39103         * tests/test-mbscspn.sh: New file.
39104         * tests/test-mbscspn.c: New file.
39105
39106 2007-02-11  Bruno Haible  <bruno@clisp.org>
39107
39108         * modules/mbscasecmp-tests: New file.
39109         * tests/test-mbscasecmp.sh: New file.
39110         * tests/test-mbscasecmp.c: New file.
39111
39112 2007-02-11  Bruno Haible  <bruno@clisp.org>
39113
39114         Ensure O(n) worst-case complexity of mbscasestr.
39115         * lib/mbscasestr.c: Include stdbool.h.
39116         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39117         functions.
39118         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39119         the bookkeeping indicates that it's worth it.
39120         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39121
39122         * modules/mbscasestr-tests: New file.
39123         * tests/test-mbscasestr1.c: New file.
39124         * tests/test-mbscasestr2.sh: New file.
39125         * tests/test-mbscasestr2.c: New file.
39126         * tests/test-mbscasestr3.sh: New file.
39127         * tests/test-mbscasestr3.c: New file.
39128         * tests/test-mbscasestr4.sh: New file.
39129         * tests/test-mbscasestr4.c: New file.
39130         * m4/locale-tr.m4: New file.
39131
39132 2007-02-11  Bruno Haible  <bruno@clisp.org>
39133
39134         Ensure O(n) worst-case complexity of mbsstr.
39135         * lib/mbsstr.c: Include stdbool.h.
39136         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39137         functions.
39138         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39139         bookkeeping indicates that it's worth it.
39140         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39141
39142         * modules/mbsstr-tests: New file.
39143         * tests/test-mbsstr1.c: New file.
39144         * tests/test-mbsstr2.sh: New file.
39145         * tests/test-mbsstr2.c: New file.
39146         * tests/test-mbsstr3.sh: New file.
39147         * tests/test-mbsstr3.c: New file.
39148         * m4/locale-fr.m4: New file.
39149
39150 2007-02-11  Bruno Haible  <bruno@clisp.org>
39151
39152         * lib/mbsrchr.c (mbsrchr): Fix bug.
39153
39154         * modules/mbsrchr-tests: New file.
39155         * tests/test-mbsrchr.sh: New file.
39156         * tests/test-mbsrchr.c: New file.
39157
39158 2007-02-11  Bruno Haible  <bruno@clisp.org>
39159
39160         * lib/mbschr.c (mbschr): Fix bug.
39161
39162         * modules/mbschr-tests: New file.
39163         * tests/test-mbschr.sh: New file.
39164         * tests/test-mbschr.c: New file.
39165         * m4/locale-zh.m4: New file.
39166
39167 2007-02-11  Bruno Haible  <bruno@clisp.org>
39168
39169         Support for copying multibyte string iterators.
39170         * lib/mbiter.h: Include <string.h>.
39171         (mbiter_multi_copy): New function.
39172         (mbi_copy): New macro.
39173         * lib/mbuiter.h: Include <string.h>.
39174         (mbuiter_multi_copy): New function.
39175         (mbui_copy): New macro.
39176
39177 2007-02-11  Bruno Haible  <bruno@clisp.org>
39178
39179         New module mbslen.
39180         * modules/mbslen: New file.
39181         * lib/mbslen.c: New file.
39182         * lib/string_.h (mbslen): New declaration.
39183         * m4/mbslen.m4: New file.
39184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39185         GNULIB_MBSLEN.
39186         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39187         * MODULES.html.sh (Internationalization functions): Add mbslen.
39188
39189 2007-02-11  Bruno Haible  <bruno@clisp.org>
39190
39191         Ensure O(n) worst-case complexity of strcasestr substitute.
39192         * lib/strcasestr.c: Include stdbool.h.
39193         (knuth_morris_pratt): New function.
39194         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39195         bookkeeping indicates that it's worth it.
39196         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39197
39198         * modules/strcasestr-tests: New file.
39199         * tests/test-strcasestr.c: New file.
39200
39201 2007-02-11  Bruno Haible  <bruno@clisp.org>
39202
39203         Ensure O(n) worst-case complexity of c_strcasestr.
39204         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39205         (knuth_morris_pratt): New function.
39206         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39207         the bookkeeping indicates that it's worth it.
39208         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39209
39210         * modules/c-strcasestr-tests: New file.
39211         * tests/test-c-strcasestr.c: New file.
39212
39213 2007-02-11  Bruno Haible  <bruno@clisp.org>
39214
39215         Ensure O(n) worst-case complexity of c_strstr.
39216         * lib/c-strstr.c: Include stdbool.h, string.h.
39217         (knuth_morris_pratt): New function.
39218         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39219         bookkeeping indicates that it's worth it.
39220         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39221
39222         * lib/c-strstr.c: Complete rewrite for maintainability.
39223
39224         * modules/c-strstr-tests: New file.
39225         * tests/test-c-strstr.c: New file.
39226
39227 2007-02-11  Bruno Haible  <bruno@clisp.org>
39228
39229         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39230         5.2.1 and earlier, whereby \055 was treated just like the range
39231         delimiter '-'.
39232         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39233
39234 2007-02-08  Bruno Haible  <bruno@clisp.org>
39235
39236         * modules/regex (Depends-on): Add stdbool.
39237         Reported by Dalibor Topic <robilad@kaffe.org>.
39238
39239 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39240
39241         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39242         Prefer returning from main to exiting from it.
39243         Remove unnecessary parens after sizeof.
39244
39245 2007-02-05  Bruno Haible  <bruno@clisp.org>
39246
39247         New module mbssep.
39248         * modules/mbssep: New file.
39249         * lib/mbssep.c: New file.
39250         * lib/string_.h (strsep): Add a conditional link warning.
39251         (mbssep): New declaration.
39252         * m4/mbssep.m4: New file.
39253         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39254         GNULIB_MBSSEP.
39255         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39256         * MODULES.html.sh (Internationalization functions): Add mbssep.
39257
39258 2007-02-05  Bruno Haible  <bruno@clisp.org>
39259
39260         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39261         Optimize search in case of 1 delimiter.
39262
39263 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39264
39265         * lib/acl.h: Include sys/types.h before sys/acl.h.
39266
39267 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39268
39269         Merge upstream fix for glibc bugzilla #3957:
39270
39271         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39272
39273         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39274         bit for RE_HAT_LISTS_NOT_NEWLINE.
39275         (build_charclass_op): Remove bogus comment.
39276
39277 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39278
39279         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39280
39281 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39282
39283         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39284         * lib/memmem.c [!defined _LIBC]: Include config.h.
39285
39286 2007-02-04  Bruno Haible  <bruno@clisp.org>
39287
39288         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39289         warning message.
39290
39291 2007-02-04  Bruno Haible  <bruno@clisp.org>
39292
39293         New module mbstok_r.
39294         * modules/mbstok_r: New file.
39295         * lib/mbstok_r.c: New file.
39296         * lib/string_.h (strtok_r): Change argument names to match the
39297         comments. Add a conditional link warning.
39298         (mbstok_r): New declaration.
39299         * m4/mbstok_r.m4: New file.
39300         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39301         GNULIB_MBSTOK_R.
39302         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39303         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39304
39305 2007-02-04  Bruno Haible  <bruno@clisp.org>
39306
39307         New module mbsspn.
39308         * modules/mbsspn: New file.
39309         * lib/mbsspn.c: New file.
39310         * lib/string_.h (strspn): Add a conditional link warning.
39311         (mbsspn): New declaration.
39312         * m4/mbsspn.m4: New file.
39313         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39314         GNULIB_MBSSPN.
39315         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39316         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39317
39318 2007-02-04  Bruno Haible  <bruno@clisp.org>
39319
39320         New module mbspbrk.
39321         * modules/mbspbrk: New file.
39322         * lib/mbspbrk.c: New file.
39323         * lib/string_.h (strpbrk): Add a conditional link warning.
39324         (mbspbrk): New declaration.
39325         * m4/mbspbrk.m4: New file.
39326         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39327         GNULIB_MBSPBRK.
39328         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39329         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39330
39331 2007-02-04  Bruno Haible  <bruno@clisp.org>
39332
39333         New module mbscspn.
39334         * modules/mbscspn: New file.
39335         * lib/mbscspn.c: New file.
39336         * lib/string_.h (strcspn): Add a conditional link warning.
39337         (mbscspn): New declaration.
39338         * m4/mbscspn.m4: New file.
39339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39340         GNULIB_MBSCSPN.
39341         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39342         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39343
39344 2007-02-04  Bruno Haible  <bruno@clisp.org>
39345
39346         New module mbscasestr, reduced goal of strcasestr.
39347         * modules/mbscasestr: New file.
39348         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39349         (mbscasestr): Renamed from strcasestr.
39350         * lib/strcasestr.c: Don't include mbuiter.h.
39351         (strcasestr): Remove support for multibyte locales.
39352         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39353         Change the conditional link warning.
39354         (mbscasestr): New declaration.
39355         * m4/mbscasestr.m4: New file.
39356         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39357         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39358         REPLACE_STRCASESTR.
39359         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39361         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39362         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39363         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39364         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39365         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39366         (Depends-on): Remove mbuiter.
39367         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39368
39369 2007-02-04  Bruno Haible  <bruno@clisp.org>
39370
39371         Simplify handling of strncasecmp.
39372         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39373         the conditional link warning.
39374         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39375         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39376         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39377         * modules/strcase (configure.ac): Don't invoke
39378         gl_STRING_MODULE_INDICATOR.
39379         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39380
39381 2007-02-04  Bruno Haible  <bruno@clisp.org>
39382
39383         New module mbscasecmp, reduced goal of strcasecmp.
39384         * modules/mbscasecmp: New file.
39385         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39386         (mbscasecmp): Renamed from strcasecmp.
39387         * lib/strcasecmp.c: Don't include mbuiter.h.
39388         (strcasecmp): Remove support for multibyte locales.
39389         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39390         Change the conditional link warning.
39391         (mbscasecmp): New declaration.
39392         * m4/mbscasecmp.m4: New file.
39393         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39394         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39395         REPLACE_STRCASECMP.
39396         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39397         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39398         GNULIB_MBSCASECMP.
39399         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39400         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39401         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39402         (Depends-on): Remove mbuiter.
39403         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39404
39405 2007-02-04  Bruno Haible  <bruno@clisp.org>
39406
39407         New module mbsstr. Remove module strstr.
39408         * modules/mbsstr: New file.
39409         * modules/strstr: Remove file.
39410         * lib/mbsstr.c: Renamed from lib/strstr.c.
39411         (mbsstr): Renamed from strstr.
39412         * lib/string_.h (strstr): Remove declaration. Change the conditional
39413         link warning.
39414         (mbsstr): New declaration.
39415         * m4/mbsstr.m4: New file.
39416         * m4/strstr.m4: Remove file.
39417         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39418         REPLACE_STRSTR.
39419         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39420         Don't initialize GNULIB_STRSTR.
39421         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39422         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39423         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39424         (Support for systems lacking ANSI C 89): Remove strstr.
39425
39426 2007-02-04  Bruno Haible  <bruno@clisp.org>
39427
39428         New module mbsrchr.
39429         * modules/mbsrchr: New file.
39430         * lib/mbsrchr.c: New file.
39431         * lib/string_.h (strrchr): Add a conditional link warning.
39432         (mbsrchr): New declaration.
39433         * m4/mbsrchr.m4: New file.
39434         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39435         GNULIB_MBSRCHR.
39436         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39437         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39438
39439 2007-02-04  Bruno Haible  <bruno@clisp.org>
39440
39441         New module mbschr.
39442         * modules/mbschr: New file.
39443         * lib/mbschr.c: New file.
39444         * lib/string_.h (strchr): Add a conditional link warning.
39445         (mbschr): New declaration.
39446         * m4/mbschr.m4: New file.
39447         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39448         GNULIB_MBSCHR.
39449         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39450         * MODULES.html.sh (Internationalization functions): Add mbschr.
39451
39452 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39453
39454         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39455
39456         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39457
39458 2007-02-04  Bruno Haible  <bruno@clisp.org>
39459
39460         New module description section 'configure.ac-early'.
39461         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39462         (func_get_autoconf_early_snippet): New function.
39463         (func_import, func_create_testdir): Use it. Remove special cases for
39464         modules 'extensions' and 'lock'.
39465         * modules/extensions (configure.ac-early): Require
39466         gl_USE_SYSTEM_EXTENSIONS.
39467         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39468
39469 2007-02-04  Bruno Haible  <bruno@clisp.org>
39470
39471         Make use of gcj-4.3's -fsource and -ftarget option.
39472         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39473         and if so try the options -fsource and -ftarget.
39474         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39475         source_version, ftarget_option, target_version arguments.
39476         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39477         (is_envjavac_oldgcj_14_14_usable): Renamed from
39478         is_envjavac_gcj_14_14_usable.
39479         (is_envjavac_oldgcj_14_13_usable): Renamed from
39480         is_envjavac_gcj_14_13_usable.
39481         (is_gcj_present): Update.
39482         (is_gcj_43, is_gcj43_usable): New functions.
39483         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39484         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39485         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39486         try the options -fsource and -ftarget.
39487
39488 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39489
39490         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39491         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39492         larger value.
39493
39494 2007-02-03  Jim Meyering  <jim@meyering.net>
39495
39496         Give tools a better chance to allocate space for very large buffers.
39497         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39498
39499         Make pwd and readlink work also when run with an unreadable parent dir
39500         on systems with openat support.
39501         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39502         provided getcwd function, even when we have openat support.
39503         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39504
39505 2007-02-02  Bruno Haible  <bruno@clisp.org>
39506
39507         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39508         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39509         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39510         portability problems if one of these functions is only used on specific
39511         platforms.
39512         Reported by Paul Eggert.
39513
39514 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39515
39516         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39517         is causing more trouble than it's curing.
39518         * lib/regex_internal.h (__mempcpy): Remove.
39519         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39520         (and make the code a tad smaller to boot).
39521         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39522
39523 2007-02-02  Jim Meyering  <jim@meyering.net>
39524
39525         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39526         section, not in the Makefile.am: one.
39527
39528 2007-02-02  Eric Blake  <ebb9@byu.net>
39529
39530         * lib/strchrnul.c: Always include config.h first.
39531
39532         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39533         gnulib strstr is not necessary here.
39534
39535 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39536
39537         * m4/socklen.m4: Fix typo.
39538
39539 2007-02-02  Eric Blake  <ebb9@byu.net>
39540
39541         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39542         * modules/netinet_in (Makefile.am): Likewise.
39543
39544 2007-02-01  Bruno Haible  <bruno@clisp.org>
39545
39546         * lib/string_.h (GL_LINK_WARNING): New macro.
39547         (strcasecmp, strstr, strcasestr): If provided by the system,
39548         conditionally define as a macro that leads to a warning instead of to
39549         an error.
39550         (strncasecmp): Conditionally define as a macro that leads to a warning.
39551
39552 2007-02-01  Karl Berry  <karl@gnu.org>
39553
39554         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39555
39556 2007-02-01  Bruno Haible  <bruno@clisp.org>
39557
39558         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39559         renamings.
39560
39561 2007-02-01  Eric Blake  <ebb9@byu.net>
39562
39563         * modules/regex (Depends-on): Revert dependence on mempcpy.
39564         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39565         module's definition of mempcpy.
39566         Reported by Paul Eggert.
39567
39568 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39569
39570         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39571         the symbol XYZ before redefining it.  This fixes a problem with
39572         programs that don't use XYZ, when compiled on systems that define
39573         XYZ to something else.
39574
39575 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39576
39577         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39578         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39579         writeable to group or other and (2) is intended to have a special
39580         mode bit that is set or cleared.  In such a case, the directory
39581         should be neither group- nor other-writeable until the special
39582         mode bits are right.
39583
39584 2007-01-31  Eric Blake  <ebb9@byu.net>
39585
39586         * modules/mountlist (Depends-on): Add strstr.
39587
39588         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39589         bug.
39590         * modules/string (Makefile.am): Remove redundant replacement.
39591         * modules/regex (Depends-on): Add mempcpy.
39592
39593 2007-01-31  Bruno Haible  <bruno@clisp.org>
39594
39595         New module description field 'Link'.
39596         * gnulib-tool (func_usage): Document --extract-link-directive.
39597         (sed_extract_prog): Recognize 'Link' directive.
39598         (func_get_link_directive): New function.
39599         (func_import): Show summary of link directives.
39600         Handle --extract-link-directive option.
39601         * modules/acl (Link): New section.
39602         * modules/clock-time (Link): New section.
39603         * modules/euidaccess (Link): New section.
39604         * modules/gettext (Link): New section.
39605         * modules/iconv (Link): New section.
39606         * modules/lock (Link): New section.
39607         * modules/nanosleep (Link): New section.
39608         * modules/readline (Link): New section.
39609
39610 2007-01-27  Bruno Haible  <bruno@clisp.org>
39611
39612         Enforce the use of gnulib modules for unportable <string.h> functions.
39613         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39614         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39615         (gl_HEADER_STRING_H_BODY): Require it.
39616         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39617         the symbol XYZ to one that gives a link error.
39618         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39619         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39620         * modules/mempcpy (configure.ac): Likewise.
39621         * modules/memrchr (configure.ac): Likewise.
39622         * modules/stpcpy (configure.ac): Likewise.
39623         * modules/stpncpy (configure.ac): Likewise.
39624         * modules/strcase (configure.ac): Likewise.
39625         * modules/strcasestr (configure.ac): Likewise.
39626         * modules/strchrnul (configure.ac): Likewise.
39627         * modules/strdup (configure.ac): Likewise.
39628         * modules/strndup (configure.ac): Likewise.
39629         * modules/strnlen (configure.ac): Likewise.
39630         * modules/strpbrk (configure.ac): Likewise.
39631         * modules/strsep (configure.ac): Likewise.
39632         * modules/strstr (configure.ac): Likewise.
39633         * modules/strtok_r (configure.ac): Likewise.
39634
39635 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39636
39637         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39638
39639 2007-01-30  Jim Meyering  <jim@meyering.net>
39640
39641         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
39642
39643 2007-01-29  Bruno Haible  <bruno@clisp.org>
39644
39645         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
39646         * lib/execute.c: Likewise.
39647         * lib/pipe.c: Likewise.
39648         * lib/printf-args.h: Likewise.
39649         * lib/printf-args.c: Likewise.
39650         * lib/printf-parse.c: Likewise.
39651         * lib/vasnprintf.c: Likewise.
39652
39653 2007-01-29  Eric Blake  <ebb9@byu.net>
39654
39655         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
39656         declaration.
39657
39658 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
39659
39660         * lib/strptime.h (strptime): Use 'restrict' for args where
39661         POSIX requires this.
39662         * lib/strptime.c (strptime): Likewise.
39663         Change license notice from LGPL to GPL, since gnulib-tool will
39664         change this as needed.
39665         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
39666         defined.
39667         Include "strptime.h" first, to check interface.
39668         Do not #undef _LIBC and _NL_CURRENT.
39669         Do not include <stdlib.h>; no longer needed.
39670         Include "time_r.h" and declare ptime_locale_status
39671         only if _LIBC is not defined.
39672         (__P): Remove unused macro.
39673         (match_string): Bring back glibc version, but use it only if _LIBC
39674         is defined.
39675         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
39676         Remove unnecessary assertion and abort() call.
39677         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
39678         * m4/strptime.m4: Fix serial number comment.
39679         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
39680         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
39681         (Depends-on): Add time_r.
39682
39683 2007-01-29  Bruno Haible  <bruno@clisp.org>
39684
39685         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39686         strptime.
39687         * modules/strptime (Depends-on): Add stdbool.
39688         * lib/strptime.h: Include <time.h> always. Add comments.
39689
39690 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39691
39692         * modules/strptime: New file.
39693         * lib/strptime.h: New file.
39694         * lib/strptime.c: New file.
39695         * m4/strptime.m4: New file.
39696
39697 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39698
39699         * MODULES.html.sh: New module mpsort.
39700         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
39701
39702         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
39703         a circularity problem with HP-UX ia64 reported by Bob Proulx in
39704         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
39705         All uses changed.
39706         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
39707         All uses changed.
39708         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
39709         to _Restrict_.
39710         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
39711         the parameter matches the prototype.
39712
39713 2007-01-28  Jim Meyering  <jim@meyering.net>
39714
39715         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
39716         sys/time.h here, reverting that part of the previous patch:
39717         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
39718
39719 2007-01-28  Bruno Haible  <bruno@clisp.org>
39720
39721         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
39722         value of $(SYS_TIME_H).
39723         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
39724         remove it conditionally, too. [added by Jim Meyering]
39725         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
39726         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
39727         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
39728         GETTIMEOFDAY_REPLACEMENT to 1.
39729
39730 2007-01-28  Bruno Haible  <bruno@clisp.org>
39731
39732         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
39733         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
39734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
39735         Set UNISTD_H instead of UNISTD_H2.
39736         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
39737
39738 2007-01-28  Bruno Haible  <bruno@clisp.org>
39739
39740         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
39741         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
39742
39743 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39744
39745         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
39746         (func_create_testdir): Ensure C locale for `grep' and `tr'
39747         character ranges.
39748         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
39749         ACLOCAL_AMFLAGS parsing state machine.
39750
39751 2007-01-27  Bruno Haible  <bruno@clisp.org>
39752
39753         * modules/unistr/base: Update.
39754
39755 2007-01-27  Bruno Haible  <bruno@clisp.org>
39756
39757         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
39758         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
39759         * modules/unistr/u32-mbtouc-unsafe: Renamed from
39760         modules/unistr/u32-mbtouc.
39761         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
39762         * lib/unistr.h: Update.
39763         * lib/linebreak.c: Update.
39764         * modules/unistr/u32-mbtouc: Renamed from
39765         modules/unistr/u32-mbtouc-safe.
39766         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
39767         * lib/unistr.h: Update.
39768         * lib/unistr/u32-to-u8.c: Update.
39769         * lib/unistr/u32-to-u16.c: Update.
39770
39771 2007-01-27  Bruno Haible  <bruno@clisp.org>
39772
39773         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
39774         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
39775         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
39776         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
39777         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
39778         * modules/unistr/u16-mbtouc-unsafe: Renamed from
39779         modules/unistr/u16-mbtouc.
39780         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
39781         * lib/unistr.h: Update.
39782         * lib/linebreak.c: Update.
39783         * modules/linebreak: Update.
39784         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
39785         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
39786         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
39787         * modules/unistr/u16-mbtouc: Renamed from
39788         modules/unistr/u16-mbtouc-safe.
39789         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
39790         * lib/unistr.h: Update.
39791         * lib/unistr/u16-to-u8.c: Update.
39792         * modules/unistr/u16-to-u8: Update.
39793         * lib/unistr/u16-to-u32.c: Update.
39794         * modules/unistr/u16-to-u32: Update.
39795
39796 2007-01-27  Bruno Haible  <bruno@clisp.org>
39797
39798         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
39799         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
39800         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
39801         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
39802         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
39803         * modules/unistr/u8-mbtouc-unsafe: Renamed from
39804         modules/unistr/u8-mbtouc.
39805         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
39806         * lib/unistr.h: Update.
39807         * lib/striconveh.c: Update.
39808         * modules/striconveh: Update.
39809         * lib/linebreak.c: Update.
39810         * modules/linebreak: Update.
39811         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
39812         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
39813         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
39814         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
39815         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
39816         * lib/unistr.h: Update.
39817         * lib/striconveh.c: Update.
39818         * modules/striconveh: Update.
39819         * lib/unistr/u8-to-u16.c: Update.
39820         * modules/unistr/u8-to-u16: Update.
39821         * lib/unistr/u8-to-u32.c: Update.
39822         * modules/unistr/u8-to-u32: Update.
39823
39824 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39825
39826         Sync from Libtool.
39827         * lib/argz.c: Do not include strings.h nor memory.h, include
39828         string.h unconditionally.  Patch by Simon Josefsson.
39829
39830 2007-01-27  Bruno Haible  <bruno@clisp.org>
39831
39832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
39833         from gl_HEADER_STRING_H_BODY.
39834         (gl_HEADER_STRING_H_BODY): Require it.
39835         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
39836         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
39837         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
39838         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
39839         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
39840         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
39841         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39842         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
39843         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
39844         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39845         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
39846         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
39847         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
39848         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39849         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
39850
39851 2007-01-27  Bruno Haible  <bruno@clisp.org>
39852
39853         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
39854         check_PROGRAMS into noinst_PROGRAMS.
39855         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
39856         check_PROGRAMS in this case.
39857         (func_import): Set for_test to false.
39858         (func_create_testdir): Set for_test to true.
39859
39860 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
39861             Bruno Haible  <bruno@clisp.org>
39862
39863         * modules/strcasestr (Files): Remove lib/strcasestr.h.
39864         (Depends-on): Add string.
39865         (Includes): Use <string.h> instead of strcasestr.h.
39866         * modules/string (Makefile.am): Also substitute the value of
39867         REPLACE_STRCASESTR.
39868         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
39869         assume strcasestr is declared in <string.h> not <strings.h>. Also
39870         set REPLACE_STRCASESTR.
39871         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
39872         REPLACE_STRCASESTR.
39873         * lib/strcasestr.h: Remove file.
39874         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
39875         * lib/string_.h (strcasestr): New declaration.
39876
39877 2007-01-27  Bruno Haible  <bruno@clisp.org>
39878
39879         * lib/string_.h: Use 'extern'.
39880
39881 2007-01-27  Jim Meyering  <jim@meyering.net>
39882
39883         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
39884         of set-but-not-used local, "q".
39885
39886         * lib/mempcpy.c: Include <config.h> before <string.h>.
39887         This fixes a compilation error on HP-UX, due to the system's
39888         "restrict"-using mempcpy prototype.
39889
39890 2007-01-26  Bruno Haible  <bruno@clisp.org>
39891
39892         Small optimization.
39893         * lib/javacomp.c: Include c-strstr.h.
39894          (is_envjavac_gcj): Use c_strstr instead of strstr.
39895         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
39896
39897 2007-01-26  Bruno Haible  <bruno@clisp.org>
39898
39899         * MODULES.html.sh (Unicode string functions): Add the new modules.
39900
39901         * modules/uniconv/u32-strconv-to-locale: New file.
39902         * lib/uniconv/u32-strconv-to-locale.c: New file.
39903
39904         * modules/uniconv/u16-strconv-to-locale: New file.
39905         * lib/uniconv/u16-strconv-to-locale.c: New file.
39906
39907         * modules/uniconv/u8-strconv-to-locale: New file.
39908         * lib/uniconv/u8-strconv-to-locale.c: New file.
39909
39910         * modules/uniconv/u32-strconv-from-locale: New file.
39911         * lib/uniconv/u32-strconv-from-locale.c: New file.
39912
39913         * modules/uniconv/u16-strconv-from-locale: New file.
39914         * lib/uniconv/u16-strconv-from-locale.c: New file.
39915
39916         * modules/uniconv/u8-strconv-from-locale: New file.
39917         * lib/uniconv/u8-strconv-from-locale.c: New file.
39918
39919         * modules/uniconv/u32-strconv-to-enc: New file.
39920         * lib/uniconv/u32-strconv-to-enc.c: New file.
39921         * modules/uniconv/u32-strconv-to-enc-tests: New file.
39922         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
39923
39924         * modules/uniconv/u16-strconv-to-enc: New file.
39925         * lib/uniconv/u16-strconv-to-enc.c: New file.
39926         * lib/uniconv/u-strconv-to-enc.h: New file.
39927         * modules/uniconv/u16-strconv-to-enc-tests: New file.
39928         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
39929
39930         * modules/uniconv/u8-strconv-to-enc: New file.
39931         * lib/uniconv/u8-strconv-to-enc.c: New file.
39932         * modules/uniconv/u8-strconv-to-enc-tests: New file.
39933         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
39934
39935         * modules/uniconv/u32-strconv-from-enc: New file.
39936         * lib/uniconv/u32-strconv-from-enc.c: New file.
39937         * modules/uniconv/u32-strconv-from-enc-tests: New file.
39938         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
39939
39940         * modules/uniconv/u16-strconv-from-enc: New file.
39941         * lib/uniconv/u16-strconv-from-enc.c: New file.
39942         * modules/uniconv/u16-strconv-from-enc-tests: New file.
39943         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
39944
39945         * modules/uniconv/u8-strconv-from-enc: New file.
39946         * lib/uniconv/u8-strconv-from-enc.c: New file.
39947         * lib/uniconv/u-strconv-from-enc.h: New file.
39948         * modules/uniconv/u8-strconv-from-enc-tests: New file.
39949         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
39950
39951         * modules/uniconv/u32-conv-from-enc: New file.
39952         * lib/uniconv/u32-conv-from-enc.c: New file.
39953         * modules/uniconv/u32-conv-from-enc-tests: New file.
39954         * tests/uniconv/test-u32-conv-from-enc.c: New file.
39955
39956         * modules/uniconv/u16-conv-from-enc: New file.
39957         * lib/uniconv/u16-conv-from-enc.c: New file.
39958         * lib/uniconv/u-conv-from-enc.h: New file.
39959         * modules/uniconv/u16-conv-from-enc-tests: New file.
39960         * tests/uniconv/test-u16-conv-from-enc.c: New file.
39961
39962         * modules/uniconv/u8-conv-from-enc: New file.
39963         * lib/uniconv/u8-conv-from-enc.c: New file.
39964         * modules/uniconv/u8-conv-from-enc-tests: New file.
39965         * tests/uniconv/test-u8-conv-from-enc.c: New file.
39966
39967         * modules/uniconv/base: New file.
39968         * lib/uniconv.h: New file.
39969
39970 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
39971
39972         * doc/gnulib-tool.texi (Initial import): Update to match current
39973         behavior with strdup module.
39974         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
39975         * lib/memmem.h: Remove; all uses removed.  This is now done
39976         by <string.h>.
39977         * lib/mempcpy.h: Likewise.
39978         * lib/memrchr.h: Likewise.
39979         * lib/stpcpy.h: Likewise.
39980         * lib/stpncpy.h: Likewise.
39981         * lib/strcase.h: Likewise.
39982         * lib/strchrnul.h: Likewise.
39983         * lib/strdup.h: Likewise.
39984         * lib/strndup.h: Likewise.
39985         * lib/strnlen.h: Likewise.
39986         * lib/strpbrk.h: Likewise.
39987         * lib/strsep.h: Likewise.
39988         * lib/strstr.h: Likewise.
39989         * lib/strtok_r.h: Likewise.
39990         * lib/string_.h: New file.
39991         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
39992         Rely on <string.h> instead.
39993         * lib/canon-host.c: Likewise.
39994         * lib/chdir-long.c: Likewise.
39995         * lib/concatpath.c: Likewise.
39996         * lib/exclude.c: Likewise.
39997         * lib/fchdir.c: Likewise.
39998         * lib/getaddrinfo.c: Likewise.
39999         * lib/getcwd.c: Likewise.
40000         * lib/getsubopt.c: Likewise.
40001         * lib/glob.c: Likewise.
40002         * lib/hard-locale.c: Likewise.
40003         * lib/iconvme.c: Likewise.
40004         * lib/javacomp.c: Likewise.
40005         * lib/mempcpy.c: Likewise.
40006         * lib/memrchr.c: Likewise.
40007         * lib/regex_internal.h: Likewise.
40008         * lib/stpncpy.c: Likewise.
40009         * lib/strcasecmp.c: Likewise.
40010         * lib/strchrnul.c: Likewise.
40011         * lib/strdup.c: Likewise.
40012         * lib/striconv.c: Likewise.
40013         * lib/striconveh.c: Likewise.
40014         * lib/striconveha.c: Likewise.
40015         * lib/strncasecmp.c: Likewise.
40016         * lib/strndup.c: Likewise.
40017         * lib/strnlen.c: Likewise.
40018         * lib/strsep.c: Likewise.
40019         * lib/strstr.c: Likewise.
40020         * lib/strtok_r.c: Likewise.
40021         * lib/userspec.c: Likewise.
40022         * lib/w32spawn.h: Likewise.
40023         * lib/xstrndup.c: Likewise.
40024         * lib/mountlist.c (strstr): Remove decl.
40025         * m4/string_h.m4: New file.
40026         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40027         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40028         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40029         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40030         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40031         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40032         Set REPLACE_STRCASECMP if necessary.
40033         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40034         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40035         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40036         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40037         HAVE_DECL_STRDUP if necessary.
40038         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40039         since gl_FUNC_STRNDUP does that now.
40040         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40041         Check for decl here...
40042         (gl_PREREQ_STRNLEN): ... not here.
40043         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40044         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40045         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40046         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40047         necessary.
40048         * modules/string: New file.
40049         * modules/memmem (Files): Remove special-purpose include file.
40050         (Depends-on): Add string.
40051         (Include): Include <string.h>, not the removed file.
40052         * modules/mempcpy: Likewise.
40053         * modules/memrchr: Likewise.
40054         * modules/stpcpy: Likewise.
40055         * modules/stpncpy: Likewise.
40056         * modules/strcase: Likewise.
40057         * modules/strchrnul: Likewise.
40058         * modules/strdup: Likewise.
40059         * modules/strndup: Likewise.
40060         * modules/strnlen: Likewise.
40061         * modules/strpbrk: Likewise.
40062         * modules/strsep: Likewise.
40063         * modules/strstr: Likewise.
40064         * modules/strtok_r: Likewise.
40065         * tests/test-dirname.c: Don't include "strdup.h", since
40066         <string.h> now suffices.
40067         * tests/test-memmem.c: Don't include "memmem.h", since
40068         <string.h> now suffices.
40069
40070 2007-01-25  Bruno Haible  <bruno@clisp.org>
40071
40072         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40073         *resultp is 0.
40074
40075         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40076         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40077         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40078         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40079
40080         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40081         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40082         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40083         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40084         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40085         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40086
40087 2007-01-24  Bruno Haible  <bruno@clisp.org>
40088
40089         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40090         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40091         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40092         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40093         gl_FUNC_FTS_CORE.
40094         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40095         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40096         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40097         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40098         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40099         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40100         gl_FUNC_FCHOWNAT.
40101         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40102         gl_FUNC_STRFTIME.
40103         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40104         Reported by Ralf Wildenhues.
40105
40106 2007-01-24  Bruno Haible  <bruno@clisp.org>
40107
40108         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40109         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40110         gl_GETADDRINFO.
40111         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40112         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40113         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40114
40115 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40116
40117         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40118         Don't use 'exit'; just return from 'main'.
40119         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40120
40121         * lib/fnmatch_.h: Readjust white space and comments to match
40122         glibc, to avoid spurious diffs.
40123
40124 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40125
40126         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40127         2004-12-01 change by Jakub Jelinek, since this code won't compile
40128         if !LIBC.  Problem reported by Bob Proulx.
40129
40130 2007-01-23  Bruno Haible  <bruno@clisp.org>
40131
40132         * lib/striconveh.c: Include c-strcaseeq.h.
40133         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40134         * modules/striconveh (Depends-on): Add c-strcaseeq.
40135
40136 2007-01-23  Bruno Haible  <bruno@clisp.org>
40137
40138         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40139
40140         * modules/c-strcaseeq: New file.
40141         * lib/c-strcaseeq.h: New file.
40142
40143         * modules/streq: New file.
40144         * lib/streq.h: New file.
40145
40146 2007-01-23  Bruno Haible  <bruno@clisp.org>
40147
40148         * modules/striconveha-tests: New file.
40149         * tests/test-striconveha.c: New file.
40150
40151         * lib/striconveha.h: Include <stdbool.h>.
40152         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40153         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40154         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40155         (mem_iconveha): New function.
40156         (str_iconveha_notranslit): Renamed from str_iconveha.
40157         (str_iconveha): New function.
40158         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
40159         c-strcase.
40160
40161 2007-01-23  Bruno Haible  <bruno@clisp.org>
40162
40163         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
40164         encodings without forgiving before trying any encoding with handler.
40165         (str_iconveha): Try all encodings without forgiving before trying any
40166         encoding with handler.
40167
40168 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40169
40170         Import the following changes from libc.
40171
40172         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
40173
40174         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
40175
40176         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
40177
40178         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
40179         normal_bracket label.
40180
40181         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
40182
40183         [BZ #361]
40184         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40185         to normal_bracket after fetching the next character.
40186
40187 2007-01-22  Bruno Haible  <bruno@clisp.org>
40188
40189         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40190         argument.
40191         * lib/striconveh.c (iconv_carefully_1): New function.
40192         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40193         argument.
40194         (str_cd_iconveh): Update.
40195         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40196         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40197         * tests/test-striconveh.c (MAGIC): New macro.
40198         (new_offsets): New function.
40199         (main): Test call with and without offsets.
40200
40201 2007-01-22  Bruno Haible  <bruno@clisp.org>
40202
40203         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40204         * modules/sys_select (Makefile.am): Likewise.
40205         * modules/sys_socket (Makefile.am): Likewise.
40206         * modules/sys_time (Makefile.am): Likewise.
40207
40208 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40209
40210         * modules/gettimeofday (License): Change from GPL to LGPL, since
40211         gettimeofday is a library function.
40212
40213 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40214
40215         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40216
40217 2007-01-21  Bruno Haible  <bruno@clisp.org>
40218
40219         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40220
40221 2007-01-21  Bruno Haible  <bruno@clisp.org>
40222
40223         * modules/striconveha: New file.
40224         * lib/striconveha.h: New file.
40225         * lib/striconveha.c: New file.
40226         * MODULES.html.sh (Internationalization functions): Add striconveha.
40227         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40228         string.
40229         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40230
40231 2007-01-21  Bruno Haible  <bruno@clisp.org>
40232
40233         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40234         * lib/striconveh.c (str_iconveh): Likewise.
40235
40236 2007-01-21  Bruno Haible  <bruno@clisp.org>
40237
40238         * lib/striconveh.h (mem_iconveh): New declaration.
40239         * lib/striconveh.c (mem_iconveh): New function.
40240         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40241
40242 2007-01-21  Bruno Haible  <bruno@clisp.org>
40243
40244         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40245
40246         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40247         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40248         original result buffer.
40249         (str_cd_iconveh): Update.
40250         * tests/test-striconveh.c (main): Update.
40251
40252         * lib/striconv.h (mem_cd_iconv): Change specification.
40253         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40254         result buffer.
40255         (str_cd_iconv): Update.
40256         * tests/test-striconv.c (main): Update.
40257
40258 2007-01-21  Bruno Haible  <bruno@clisp.org>
40259
40260         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40261
40262 2007-01-20  Jim Meyering  <jim@meyering.net>
40263
40264         * lib/userspec.c (parse_with_separator): If a user or group string
40265         starts with "+", skip the corresponding name-to-ID look-up, since
40266         such a look-up must fail: user and group names may not include "+".
40267
40268 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40269
40270         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40271         since we now assume the sys_time module.
40272         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40273         check for sys/time.h; no longer needed.
40274         * modules/poll (Depends-on): Depend on sys_time.
40275
40276 2007-01-18  Bruno Haible  <bruno@clisp.org>
40277
40278         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40279         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40280
40281         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40282         gettimeofday.
40283
40284         * tests/test-gettimeofday.c: Include <time.h>.
40285         (dummy): Remove variable.
40286
40287         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40288         gl_HEADER_SYS_TIME_H.
40289         (gl_HEADER_SYS_TIME_H): New macro.
40290
40291         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40292         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40293         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40294         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40295         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40296         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40297         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40298         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40299         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40300         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40301         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40302
40303         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40304         last change; it caused a compilation error when cross-compiling to
40305         Cygwin.
40306
40307 2007-01-18  Jim Meyering  <jim@meyering.net>
40308
40309         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40310         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40311         than the race-prone "test -d sys || mkdir sys".
40312         (configure.ac): Use AC_PROG_MKDIR_P.
40313         * modules/sys_select: Likewise.
40314         * modules/sys_socket: Likewise.
40315         * modules/sys_time: Likewise.
40316
40317 2007-01-18  Eric Blake  <ebb9@byu.net>
40318
40319         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40320         replace gettimeofday.
40321         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40322         name, to avoid infinite recursion.
40323
40324 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40325
40326         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40327         module sys_time.
40328         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40329         assume timespec.h defines struct timeval.
40330         * lib/settime.c: Likewise.
40331         * lib/utimens.c: Likewise.
40332         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40333         since we now assume the gettimeofday module.
40334         * lib/tempname.c (__gen_tempname): Likewise.
40335         * lib/gettimeofday.h: Remove.
40336         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40337         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40338         Include <time.h>, for 'time()'.
40339         (localtime_buffer_addr): Also use this workaround if
40340         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40341         to simplify the uses.  All uses changed.
40342         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40343         that #undef is inside {}, and 'const' follows type name consistently.
40344         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40345         (gettimeofday): Do not use the maximum possible value for
40346         tv->tv_usec, since that might break usages other than ls.c.
40347         Instead, we'll leave ls.c alone.  This undoes today's patch
40348         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40349         we've never observed the problem but might as well keep the
40350         canary.
40351         * lib/nanosleep.c: Include timespec.h first, for interface check.
40352         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40353         now assume the sys_time module.
40354         * lib/tempname.c: Likewise.
40355         * lib/timespec.h: Likewise.
40356         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40357         needed.
40358         * lib/strftime.c: Likewise.
40359         * lib/timespec.h: Likewise.
40360         * lib/posixtm.c: Include posixtm.h first, for interface check.
40361         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40362         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40363         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40364         * lib/sys_time_.h: New file.
40365         * lib/timespec.h (struct timespec): Use long int, not long.
40366         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40367         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40368         Remove obsolescent call to AC_HEADER_TIME.
40369         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40370         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40371         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40372         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40373         Likewise.
40374         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40375         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40376         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40377         into the sys_time module.  Check for gettimeofday just once.
40378         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40379         for gettimeofday signature to just check the signature.  Merely
40380         compile it, since linking doesn't test signature.  Improve test for
40381         whether gettimeofday.o is actually needed.
40382         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40383         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40384         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40385         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40386         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40387         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40388         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40389         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40390         than worrying about sys/time.h.
40391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40392         Don't bother worrying about TIME_WITH_SYS_TIME.
40393         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40394         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40395         * m4/sys_time_h.m4: New file.
40396         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40397         Don't include sys/time.h.  Return from main rather than exiting.
40398         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40399         all uses changed.
40400         * modules/gethrxtime (Depends-on): Add sys_time.
40401         * modules/gettime (Depends-on): Likewise.
40402         * modules/gettimeofday (Depends-on): Likewise.
40403         * modules/nanosleep (Depends-on): Likewise.
40404         * modules/settime (Depends-on): Likewise.
40405         * modules/tempname (Depends-on): Likewise.
40406         * modules/utimens (Depends-on): Likewise.
40407         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40408         (Include:) Change back to <sys/time.h>.
40409         (Maintainer:) Add self.
40410         * modules/sys_time: New file.
40411         * modules/tempname (Depends-on): Add gettimeofday.
40412         * tests/test-gettimeofday.c: Include <sys/time.h>
40413         rather than gettimeofday.h.
40414
40415 2007-01-17  Bruno Haible  <bruno@clisp.org>
40416
40417         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40418         the license default to GPL.
40419         (func_create_testdir): Don't complain if a module is LGPL and its
40420         tests module depends on GPLed modules.
40421
40422 2007-01-17  Bruno Haible  <bruno@clisp.org>
40423
40424         * lib/gettimeofday.c (gettimeofday): Add code for the case
40425         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40426         maximum possible value for tv->tv_usec, rather than the minimum one.
40427
40428 2005-10-08  Martin Lambers  <marlam@marlam.de>
40429 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40430 2007-01-16  Bruno Haible  <bruno@clisp.org>
40431
40432         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40433         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40434         gl_FUNC_GETTIMEOFDAY.
40435         (Include): Add gettimeofday.h.
40436         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40437         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40438         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40439         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40440         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40441         * lib/gettimeofday.h: New file.
40442         * lib/gettimeofday.c: Include <sys/timeb.h>.
40443         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40444         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40445         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40446         fall back on time().
40447
40448         * tests/test-gettimeofday.c: New file.
40449         * modules/gettimeofday-tests: New file.
40450
40451 2007-01-16  Eric Blake  <ebb9@byu.net>
40452
40453         * modules/fnmatch (Depends-on): Depend on wchar.
40454         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40455         * m4/fnmatch.m4: Likewise.
40456         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40457         * m4/mbchar.m4: Likewise.
40458         * modules/mbswidth (Depends-on): Depend on wchar.
40459         * lib/mbswidth.c: Assume <wchar.h>.
40460         * m4/mbswidth.m4: Likewise.
40461         * modules/quotearg (Depends-on): Depend on wchar.
40462         * lib/quotearg.c: Assume <wchar.h>.
40463         * m4/quotearg.m4: Likewise.
40464         * modules/regex (Depends-on): Depend on wchar.
40465         * lib/regex_internal.h: Assume <wchar.h>.
40466         * m4/regex.m4: Likewise.
40467         * modules/stdint (Depends-on): Depend on wchar.
40468         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40469         * m4/stdint.m4: Likewise.
40470         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40471         * modules/strftime (Depends-on): Depend on wchar.
40472         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40473         * modules/strtol (Depends-on): Depend on wchar.
40474         * lib/strtol.c: Assume <wchar.h>.
40475         * modules/wcwidth (Depends-on): Depend on wchar.
40476         * lib/wcwidth.h: Assume <wchar.h>.
40477         * m4/wcwidth.m4: Likewise.
40478
40479 2007-01-16  Bruno Haible  <bruno@clisp.org>
40480
40481         * modules/csharpexec-script: New, created from...
40482         * modules/csharpexec: ... this.
40483
40484 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40485
40486         * modules/javaexec-script: New, created from...
40487         * modules/javaexec: ... this.
40488
40489 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40490
40491         * modules/poll (Dependencies): Add sys_select.
40492
40493 2007-01-15  Jim Meyering  <jim@meyering.net>
40494
40495         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40496         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40497         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40498         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40499
40500 2007-01-15  Bruno Haible  <bruno@clisp.org>
40501
40502         * modules/striconveh: New file.
40503         * lib/striconveh.h: New file.
40504         * lib/striconveh.c: New file.
40505         * MODULES.html.sh (Internationalization functions): Add striconveh.
40506
40507         * modules/striconveh-tests: New file.
40508         * tests/test-striconveh.c: New file.
40509
40510 2007-01-15  Bruno Haible  <bruno@clisp.org>
40511
40512         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40513         not from GNU libiconv or GNU libc.
40514
40515 2007-01-15  Bruno Haible  <bruno@clisp.org>
40516
40517         * doc/gnulib-intro.texi (Copyright): Explain the different license
40518         terms for module descriptions, autoconf macros, tests, documentation.
40519
40520 2007-01-14  Bruno Haible  <bruno@clisp.org>
40521
40522         * modules/striconv-tests: New file.
40523         * tests/test-striconv.c: New file.
40524
40525 2007-01-14  Bruno Haible  <bruno@clisp.org>
40526
40527         * modules/iconv-tests: New file.
40528         * tests/test-iconv.c: New file.
40529
40530 2007-01-14  Bruno Haible  <bruno@clisp.org>
40531
40532         * gnulib-tool (func_get_license): For test modules, use the license of
40533         the main module.
40534
40535 2007-01-14  Bruno Haible  <bruno@clisp.org>
40536
40537         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40538         if iconv is found to exist.
40539
40540 2007-01-14  Bruno Haible  <bruno@clisp.org>
40541
40542         * modules/c-ctype-tests: New file.
40543         * tests/test-c-ctype.c: New file.
40544
40545 2007-01-14  Bruno Haible  <bruno@clisp.org>
40546
40547         * modules/binary-io-tests: New file.
40548         * tests/test-binary-io.sh: New file.
40549         * tests/test-binary-io.c: New file.
40550
40551 2007-01-14  Bruno Haible  <bruno@clisp.org>
40552
40553         * modules/array-oset-tests: New file.
40554         * tests/test-array_oset.c: New file.
40555
40556 2007-01-14  Bruno Haible  <bruno@clisp.org>
40557
40558         * modules/array-list-tests: New file.
40559         * tests/test-array_list.c: New file.
40560
40561 2007-01-14  Bruno Haible  <bruno@clisp.org>
40562
40563         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40564         and make.
40565         Reported by Simon Josefsson in
40566         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40567
40568 2007-01-14  Bruno Haible  <bruno@clisp.org>
40569
40570         * modules/allocsa-tests: New file.
40571         * tests/test-allocsa.c: New file.
40572
40573 2007-01-14  Bruno Haible  <bruno@clisp.org>
40574
40575         * modules/fchdir (Depends-on): Add absolute-header.
40576         * modules/unistd (Depends-on): Likewise.
40577
40578 2006-12-30  Bruno Haible  <bruno@clisp.org>
40579
40580         * modules/fchdir: New file.
40581         * modules/unistd (Files): Add lib/unistd_.h.
40582         (Makefile.am): Generate unistd.h from unistd_.h.
40583         * lib/fchdir.c: New file.
40584         * lib/dirent_.h: New file.
40585         * lib/unistd_.h: New file.
40586         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40587         * m4/fchdir.m4: New file.
40588         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40589         (gl_HEADER_UNISTD): Invoke it.
40590         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40591         function.
40592         * lib/backupfile.c (opendir, closedir): Undefine.
40593         * lib/chown.c (open, close): Undefine.
40594         * lib/clean-temp.c (open, close): Undefine.
40595         * lib/copy-file.c (open, close): Undefine.
40596         * lib/execute.c (open, close): Undefine.
40597         * lib/fsusage.c (open, close): Undefine.
40598         * lib/gc-gnulib.c (open, close): Undefine.
40599         * lib/getcwd.c (opendir, closedir): Undefine.
40600         * lib/glob.c (opendir, closedir): Undefine.
40601         * lib/javacomp.c (open, close): Undefine.
40602         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40603         * lib/openat-proc.c (open, close): Undefine.
40604         * lib/pagealign_alloc.c (open, close): Undefine.
40605         * lib/pipe.c (open, close): Undefine.
40606         * lib/progreloc.c (open, close): Undefine.
40607         * lib/savedir.c (opendir, closedir): Undefine.
40608         * lib/utime.c (open, close): Undefine.
40609         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40610
40611 2007-01-10  Bruno Haible  <bruno@clisp.org>
40612
40613         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40614
40615 2007-01-12  Eric Blake  <ebb9@byu.net>
40616
40617         Provide a robust <wchar.h>.  Further simplifications are now
40618         possible in other modules, but not included here.
40619         * modules/wchar: New module.
40620         * m4/wchar.m4: New file.
40621         * lib/wchar_.h: Likewise.
40622         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40623         of the new module.
40624         * MODULES.html.sh (Extended multibyte and wide character utilities):
40625         New section.
40626
40627 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40628
40629         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40630         to a reasonable default for memory allocation.
40631         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40632         file system that reports garbage st_size values for symlinks.
40633         Problem reported by Liyang Hu.
40634
40635 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40636
40637         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40638         Emacs .#* auto-save files).
40639
40640 2007-01-11  Bruno Haible  <bruno@clisp.org>
40641
40642         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
40643         directory.
40644
40645 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40646
40647         Use @...@ consistently in lib/wctype_.h.
40648         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
40649         on it being set to 1 or 0.
40650         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
40651         go back to AC_SUBSTing it.
40652         * modules/wctype (Makefile.am): Undo previous change.
40653
40654 2007-01-10  Eric Blake  <ebb9@byu.net>
40655
40656         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
40657         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
40658         * modules/wctype (Makefile.am): Likewise.
40659         Reported by Chris McGuire.
40660
40661 2007-01-10  Jim Meyering  <jim@meyering.net>
40662
40663         fts.c: a small readability/maintainability improvement
40664         * lib/fts.c (fts_read): Make this code slightly more readable and
40665         maintainable by hoisting the "sp->fts_cur = p" assignments to
40666         immediately follow the statements that set P.  Derived from
40667         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
40668
40669 2007-01-10  Eric Blake  <ebb9@byu.net>
40670
40671         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
40672         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
40673         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40674         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40675         Reported by Chris McGuire.
40676
40677 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40678
40679         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
40680         in sed script.
40681
40682 2007-01-09  Bruno Haible  <bruno@clisp.org>
40683
40684         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
40685         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
40686         variables.
40687         (func_module): Use them.
40688
40689 2007-01-09  Bruno Haible  <bruno@clisp.org>
40690
40691         * modules/unistr/base: New file.
40692         * lib/unistr.h: New file.
40693
40694         * modules/unistr/u8-to-u16: New file.
40695         * lib/unistr/u8-to-u16.c: New file.
40696
40697         * modules/unistr/u8-to-u32: New file.
40698         * lib/unistr/u8-to-u32.c: New file.
40699
40700         * modules/unistr/u16-to-u8: New file.
40701         * lib/unistr/u16-to-u8.c: New file.
40702
40703         * modules/unistr/u16-to-u32: New file.
40704         * lib/unistr/u16-to-u32.c: New file.
40705
40706         * modules/unistr/u32-to-u8: New file.
40707         * lib/unistr/u32-to-u8.c: New file.
40708
40709         * modules/unistr/u32-to-u16: New file.
40710         * lib/unistr/u32-to-u16.c: New file.
40711
40712         * modules/unistr/u8-check: New file.
40713         * modules/unistr/u16-check: New file.
40714         * modules/unistr/u32-check: New file.
40715         * lib/unistr/u8-check.c: New file.
40716         * lib/unistr/u16-check.c: New file.
40717         * lib/unistr/u32-check.c: New file.
40718
40719         * modules/unistr/u8-chr: New file.
40720         * modules/unistr/u16-chr: New file.
40721         * modules/unistr/u32-chr: New file.
40722         * lib/unistr/u8-chr.c: New file.
40723         * lib/unistr/u16-chr.c: New file.
40724         * lib/unistr/u32-chr.c: New file.
40725
40726         * modules/unistr/u8-cmp: New file.
40727         * modules/unistr/u16-cmp: New file.
40728         * modules/unistr/u32-cmp: New file.
40729         * lib/unistr/u8-cmp.c: New file.
40730         * lib/unistr/u16-cmp.c: New file.
40731         * lib/unistr/u32-cmp.c: New file.
40732
40733         * modules/unistr/u8-cpy: New file.
40734         * modules/unistr/u16-cpy: New file.
40735         * modules/unistr/u32-cpy: New file.
40736         * lib/unistr/u8-cpy.c: New file.
40737         * lib/unistr/u16-cpy.c: New file.
40738         * lib/unistr/u32-cpy.c: New file.
40739         * lib/unistr/u-cpy.h: New file.
40740
40741         * modules/unistr/u8-cpy-alloc: New file.
40742         * modules/unistr/u16-cpy-alloc: New file.
40743         * modules/unistr/u32-cpy-alloc: New file.
40744         * lib/unistr/u8-cpy-alloc.c: New file.
40745         * lib/unistr/u16-cpy-alloc.c: New file.
40746         * lib/unistr/u32-cpy-alloc.c: New file.
40747         * lib/unistr/u-cpy-alloc.h: New file.
40748
40749         * modules/unistr/u8-endswith: New file.
40750         * modules/unistr/u16-endswith: New file.
40751         * modules/unistr/u32-endswith: New file.
40752         * lib/unistr/u8-endswith.c: New file.
40753         * lib/unistr/u16-endswith.c: New file.
40754         * lib/unistr/u32-endswith.c: New file.
40755         * lib/unistr/u-endswith.h: New file.
40756
40757         * modules/unistr/u8-mblen: New file.
40758         * modules/unistr/u16-mblen: New file.
40759         * modules/unistr/u32-mblen: New file.
40760         * lib/unistr/u8-mblen.c: New file.
40761         * lib/unistr/u16-mblen.c: New file.
40762         * lib/unistr/u32-mblen.c: New file.
40763
40764         * modules/unistr/u8-mbtouc: New file.
40765         * modules/unistr/u16-mbtouc: New file.
40766         * modules/unistr/u32-mbtouc: New file.
40767         * lib/unistr/u8-mbtouc.c: New file.
40768         * lib/unistr/u16-mbtouc.c: New file.
40769         * lib/unistr/u32-mbtouc.c: New file.
40770
40771         * modules/unistr/u8-mbtouc-safe: New file.
40772         * modules/unistr/u16-mbtouc-safe: New file.
40773         * modules/unistr/u32-mbtouc-safe: New file.
40774         * lib/unistr/u8-mbtouc-safe.c: New file.
40775         * lib/unistr/u16-mbtouc-safe.c: New file.
40776         * lib/unistr/u32-mbtouc-safe.c: New file.
40777
40778         * modules/unistr/u8-move: New file.
40779         * modules/unistr/u16-move: New file.
40780         * modules/unistr/u32-move: New file.
40781         * lib/unistr/u8-move.c: New file.
40782         * lib/unistr/u16-move.c: New file.
40783         * lib/unistr/u32-move.c: New file.
40784         * lib/unistr/u-move.h: New file.
40785
40786         * modules/unistr/u8-next: New file.
40787         * modules/unistr/u16-next: New file.
40788         * modules/unistr/u32-next: New file.
40789         * lib/unistr/u8-next.c: New file.
40790         * lib/unistr/u16-next.c: New file.
40791         * lib/unistr/u32-next.c: New file.
40792
40793         * modules/unistr/u8-prev: New file.
40794         * modules/unistr/u16-prev: New file.
40795         * modules/unistr/u32-prev: New file.
40796         * lib/unistr/u8-prev.c: New file.
40797         * lib/unistr/u16-prev.c: New file.
40798         * lib/unistr/u32-prev.c: New file.
40799
40800         * modules/unistr/u8-set: New file.
40801         * modules/unistr/u16-set: New file.
40802         * modules/unistr/u32-set: New file.
40803         * lib/unistr/u8-set.c: New file.
40804         * lib/unistr/u16-set.c: New file.
40805         * lib/unistr/u32-set.c: New file.
40806         * lib/unistr/u-set.h: New file.
40807
40808         * modules/unistr/u8-startswith: New file.
40809         * modules/unistr/u16-startswith: New file.
40810         * modules/unistr/u32-startswith: New file.
40811         * lib/unistr/u8-startswith.c: New file.
40812         * lib/unistr/u16-startswith.c: New file.
40813         * lib/unistr/u32-startswith.c: New file.
40814         * lib/unistr/u-startswith.h: New file.
40815
40816         * modules/unistr/u8-stpcpy: New file.
40817         * modules/unistr/u16-stpcpy: New file.
40818         * modules/unistr/u32-stpcpy: New file.
40819         * lib/unistr/u8-stpcpy.c: New file.
40820         * lib/unistr/u16-stpcpy.c: New file.
40821         * lib/unistr/u32-stpcpy.c: New file.
40822         * lib/unistr/u-stpcpy.h: New file.
40823
40824         * modules/unistr/u8-stpncpy: New file.
40825         * modules/unistr/u16-stpncpy: New file.
40826         * modules/unistr/u32-stpncpy: New file.
40827         * lib/unistr/u8-stpncpy.c: New file.
40828         * lib/unistr/u16-stpncpy.c: New file.
40829         * lib/unistr/u32-stpncpy.c: New file.
40830         * lib/unistr/u-stpncpy.h: New file.
40831
40832         * modules/unistr/u8-strcat: New file.
40833         * modules/unistr/u16-strcat: New file.
40834         * modules/unistr/u32-strcat: New file.
40835         * lib/unistr/u8-strcat.c: New file.
40836         * lib/unistr/u16-strcat.c: New file.
40837         * lib/unistr/u32-strcat.c: New file.
40838         * lib/unistr/u-strcat.h: New file.
40839
40840         * modules/unistr/u8-strchr: New file.
40841         * modules/unistr/u16-strchr: New file.
40842         * modules/unistr/u32-strchr: New file.
40843         * lib/unistr/u8-strchr.c: New file.
40844         * lib/unistr/u16-strchr.c: New file.
40845         * lib/unistr/u32-strchr.c: New file.
40846
40847         * modules/unistr/u8-strcmp: New file.
40848         * modules/unistr/u16-strcmp: New file.
40849         * modules/unistr/u32-strcmp: New file.
40850         * lib/unistr/u8-strcmp.c: New file.
40851         * lib/unistr/u16-strcmp.c: New file.
40852         * lib/unistr/u32-strcmp.c: New file.
40853
40854         * modules/unistr/u8-strcpy: New file.
40855         * modules/unistr/u16-strcpy: New file.
40856         * modules/unistr/u32-strcpy: New file.
40857         * lib/unistr/u8-strcpy.c: New file.
40858         * lib/unistr/u16-strcpy.c: New file.
40859         * lib/unistr/u32-strcpy.c: New file.
40860         * lib/unistr/u-strcpy.h: New file.
40861
40862         * modules/unistr/u8-strcspn: New file.
40863         * modules/unistr/u16-strcspn: New file.
40864         * modules/unistr/u32-strcspn: New file.
40865         * lib/unistr/u8-strcspn.c: New file.
40866         * lib/unistr/u16-strcspn.c: New file.
40867         * lib/unistr/u32-strcspn.c: New file.
40868         * lib/unistr/u-strcspn.h: New file.
40869
40870         * modules/unistr/u8-strdup: New file.
40871         * modules/unistr/u16-strdup: New file.
40872         * modules/unistr/u32-strdup: New file.
40873         * lib/unistr/u8-strdup.c: New file.
40874         * lib/unistr/u16-strdup.c: New file.
40875         * lib/unistr/u32-strdup.c: New file.
40876         * lib/unistr/u-strdup.h: New file.
40877
40878         * modules/unistr/u8-strlen: New file.
40879         * modules/unistr/u16-strlen: New file.
40880         * modules/unistr/u32-strlen: New file.
40881         * lib/unistr/u8-strlen.c: New file.
40882         * lib/unistr/u16-strlen.c: New file.
40883         * lib/unistr/u32-strlen.c: New file.
40884         * lib/unistr/u-strlen.h: New file.
40885
40886         * modules/unistr/u8-strmblen: New file.
40887         * modules/unistr/u16-strmblen: New file.
40888         * modules/unistr/u32-strmblen: New file.
40889         * lib/unistr/u8-strmblen.c: New file.
40890         * lib/unistr/u16-strmblen.c: New file.
40891         * lib/unistr/u32-strmblen.c: New file.
40892
40893         * modules/unistr/u8-strmbtouc: New file.
40894         * modules/unistr/u16-strmbtouc: New file.
40895         * modules/unistr/u32-strmbtouc: New file.
40896         * lib/unistr/u8-strmbtouc.c: New file.
40897         * lib/unistr/u16-strmbtouc.c: New file.
40898         * lib/unistr/u32-strmbtouc.c: New file.
40899
40900         * modules/unistr/u8-strncat: New file.
40901         * modules/unistr/u16-strncat: New file.
40902         * modules/unistr/u32-strncat: New file.
40903         * lib/unistr/u8-strncat.c: New file.
40904         * lib/unistr/u16-strncat.c: New file.
40905         * lib/unistr/u32-strncat.c: New file.
40906         * lib/unistr/u-strncat.h: New file.
40907
40908         * modules/unistr/u8-strncmp: New file.
40909         * modules/unistr/u16-strncmp: New file.
40910         * modules/unistr/u32-strncmp: New file.
40911         * lib/unistr/u8-strncmp.c: New file.
40912         * lib/unistr/u16-strncmp.c: New file.
40913         * lib/unistr/u32-strncmp.c: New file.
40914
40915         * modules/unistr/u8-strncpy: New file.
40916         * modules/unistr/u16-strncpy: New file.
40917         * modules/unistr/u32-strncpy: New file.
40918         * lib/unistr/u8-strncpy.c: New file.
40919         * lib/unistr/u16-strncpy.c: New file.
40920         * lib/unistr/u32-strncpy.c: New file.
40921         * lib/unistr/u-strncpy.h: New file.
40922
40923         * modules/unistr/u8-strnlen: New file.
40924         * modules/unistr/u16-strnlen: New file.
40925         * modules/unistr/u32-strnlen: New file.
40926         * lib/unistr/u8-strnlen.c: New file.
40927         * lib/unistr/u16-strnlen.c: New file.
40928         * lib/unistr/u32-strnlen.c: New file.
40929         * lib/unistr/u-strnlen.h: New file.
40930
40931         * modules/unistr/u8-strpbrk: New file.
40932         * modules/unistr/u16-strpbrk: New file.
40933         * modules/unistr/u32-strpbrk: New file.
40934         * lib/unistr/u8-strpbrk.c: New file.
40935         * lib/unistr/u16-strpbrk.c: New file.
40936         * lib/unistr/u32-strpbrk.c: New file.
40937         * lib/unistr/u-strpbrk.h: New file.
40938
40939         * modules/unistr/u8-strrchr: New file.
40940         * modules/unistr/u16-strrchr: New file.
40941         * modules/unistr/u32-strrchr: New file.
40942         * lib/unistr/u8-strrchr.c: New file.
40943         * lib/unistr/u16-strrchr.c: New file.
40944         * lib/unistr/u32-strrchr.c: New file.
40945
40946         * modules/unistr/u8-strspn: New file.
40947         * modules/unistr/u16-strspn: New file.
40948         * modules/unistr/u32-strspn: New file.
40949         * lib/unistr/u8-strspn.c: New file.
40950         * lib/unistr/u16-strspn.c: New file.
40951         * lib/unistr/u32-strspn.c: New file.
40952         * lib/unistr/u-strspn.h: New file.
40953
40954         * modules/unistr/u8-strstr: New file.
40955         * modules/unistr/u16-strstr: New file.
40956         * modules/unistr/u32-strstr: New file.
40957         * lib/unistr/u8-strstr.c: New file.
40958         * lib/unistr/u16-strstr.c: New file.
40959         * lib/unistr/u32-strstr.c: New file.
40960         * lib/unistr/u-strstr.h: New file.
40961
40962         * modules/unistr/u8-strtok: New file.
40963         * modules/unistr/u16-strtok: New file.
40964         * modules/unistr/u32-strtok: New file.
40965         * lib/unistr/u8-strtok.c: New file.
40966         * lib/unistr/u16-strtok.c: New file.
40967         * lib/unistr/u32-strtok.c: New file.
40968         * lib/unistr/u-strtok.h: New file.
40969
40970         * modules/unistr/u8-uctomb: New file.
40971         * modules/unistr/u16-uctomb: New file.
40972         * modules/unistr/u32-uctomb: New file.
40973         * lib/unistr/u8-uctomb.c: New file.
40974         * lib/unistr/u16-uctomb.c: New file.
40975         * lib/unistr/u32-uctomb.c: New file.
40976
40977         * MODULES.html.sh (Unicode string functions): Add the new modules.
40978
40979 2007-01-08  Bruno Haible  <bruno@clisp.org>
40980
40981         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
40982         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
40983         subdirectories.
40984
40985 2007-01-08  Karl Berry  <karl@gnu.org>
40986
40987         * doc/error.texi: mention that main() fns must set program_name
40988         when progname is used.
40989
40990 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
40991
40992         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
40993         WCTYPE_H is empty, for the benefit of builds from non-distclean
40994         directories.  Problem reported by Eric Blake in
40995         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
40996
40997 2007-01-08  Bruno Haible  <bruno@clisp.org>
40998
40999         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41000         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41001         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41002         PROVIDE_CANONICALIZE_FILENAME_MODE.
41003         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41004
41005 2007-01-08  Bruno Haible  <bruno@clisp.org>
41006
41007         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41008         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41009         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41010         * lib/fts.c: Likewise.
41011         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41012
41013 2006-12-25  Bruno Haible  <bruno@clisp.org>
41014
41015         * modules/utf8-ucs4-safe: New file.
41016         * lib/utf8-ucs4-safe.h: New file.
41017         * lib/unistr/utf8-ucs4-safe.c: New file.
41018
41019         * modules/utf16-ucs4-safe: New file.
41020         * lib/utf16-ucs4-safe.h: New file.
41021         * lib/unistr/utf16-ucs4-safe.c: New file.
41022
41023         * MODULES.html.sh (Unicode string functions): Add the new modules.
41024
41025 2007-01-08  Bruno Haible  <bruno@clisp.org>
41026
41027         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41028         (Depends-on): Add unitypes.
41029         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41030         (u8_mbtouc_aux): Move out to separate file.
41031         (u8_mbtouc): Use ucs4_t, uint8_t types.
41032         * lib/unistr/utf8-ucs4.c: New file.
41033
41034         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41035         (Depends-on): Add unitypes.
41036         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41037         (u16_mbtouc_aux): Move out to separate file.
41038         (u16_mbtouc): Use ucs4_t, uint16_t types.
41039         * lib/unistr/utf16-ucs4.c: New file.
41040
41041         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41042         (Depends-on): Add unitypes.
41043         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41044         (u8_uctomb_aux): Move out to separate file.
41045         (u8_uctomb): Use ucs4_t, uint8_t types.
41046         * lib/unistr/ucs4-utf8.c: New file.
41047
41048         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41049         (Depends-on): Add unitypes.
41050         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41051         (u16_uctomb_aux): Move out to separate file.
41052         (u16_uctomb): Use ucs4_t, uint16_t types.
41053         * lib/unistr/ucs4-utf16.c: New file.
41054
41055 2006-12-25  Bruno Haible  <bruno@clisp.org>
41056
41057         * modules/unitypes: New file.
41058         * lib/unitypes.h: New file.
41059         * MODULES.html.sh (func_all_modules): New section "Unicode string
41060         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41061         this section. Add unitypes.
41062
41063 2007-01-08  Bruno Haible  <bruno@clisp.org>
41064
41065         Avoid variable names that conflict with those from libtool.
41066         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41067         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41068         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41069         library_names_spec to acl_library_names_spec, hardcode_* to
41070         acl_hardcode_*.
41071         Reported by Ralf Wildenhues.
41072
41073 2007-01-08  Bruno Haible  <bruno@clisp.org>
41074
41075         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41076         definition.
41077         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41078         definition.
41079         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41080         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41081         definition.
41082         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41083         definition.
41084         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41085         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41086         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41087         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41088         definition.
41089         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41090         definition.
41091         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41092         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41093         GC_USE_<algorithm>.
41094         * lib/gc-libgcrypt.c: Likewise.
41095         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41096         * modules/gc-arctwo (configure.ac): Likewise.
41097         * modules/gc-des (configure.ac): Likewise.
41098         * modules/gc-hmac-md5 (configure.ac): Likewise.
41099         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41100         * modules/gc-md2 (configure.ac): Likewise.
41101         * modules/gc-md4 (configure.ac): Likewise.
41102         * modules/gc-md5 (configure.ac): Likewise.
41103         * modules/gc-random (configure.ac): Likewise.
41104         * modules/gc-rijndael (configure.ac): Likewise.
41105         * modules/gc-sha1 (configure.ac): Likewise.
41106
41107 2007-01-08  Bruno Haible  <bruno@clisp.org>
41108
41109         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41110         macro definition.
41111         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41112         definition.
41113         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41114         definition.
41115         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41116         * modules/fcntl-safer (configure.ac): Likewise.
41117         * modules/fopen-safer (configure.ac): Likewise.
41118         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41119         GNULIB_FWRITEERROR macro definition.
41120
41121 2007-01-08  Bruno Haible  <bruno@clisp.org>
41122
41123         * m4/gnulib-common.m4: New file.
41124         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41125         (func_get_filelist): Add m4/gnulib-common.m4.
41126
41127 2007-01-08  Bruno Haible  <bruno@clisp.org>
41128
41129         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41130         command.
41131
41132 2007-01-08  Jim Meyering  <jim@meyering.net>
41133
41134         Use a more robust test for a "can't happen" condition.
41135         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41136         narrowed the st_size value.  Presuming the "can't happen" condition
41137         is true, that narrowing could conceivably convert an invalid st_size
41138         value into a valid one.  Instead, use a change based on Matthew
41139         Woehlke's original patch.
41140
41141         Slight readability improvement: use an assert-like macro
41142         in place of literal "abort ()" uses.
41143         * lib/fts.c (fts_assert): Define.
41144         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41145         Use this macro instead of a bare 'abort'.
41146
41147 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41148
41149         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41150         simply work around them.
41151         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41152         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41153         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41154         declaring.
41155         Don't bother to define as macros, since the standard doesn't require it.
41156         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
41157         longer worry about IRIX 5.3.
41158         (HAVE_WCTYPE_CTMP_BUG): Remove.
41159
41160 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41161
41162         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
41163         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
41164         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41165         Problems reported by Georg Schwarz for IRIX 5.3.
41166
41167         * gnulib-tool (autoconf_minversion): Take the maximum version number
41168         found, not the minimum.  Problem reported by James Youngman.
41169
41170 2007-01-03  Karl Berry  <karl@gnu.org>
41171
41172         * doc/error.texi: new file, explaining interaction with progname.
41173         * doc/gnulib.texi: include it.  Update copyright.
41174
41175 2007-01-03  Simon Josefsson  <simon@josefsson.org>
41176
41177         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
41178         AC_CANONICAL_HOST, to improve autobuild outputs.
41179
41180 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
41181             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41182
41183         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
41184         sockets, server sockets, and other file descriptors.  Count errors
41185         to compute the return value.  Reorder the code a bit to be easier
41186         to follow.  Don't set event bits that were not requested (except
41187         POLLERR and POLLHUP).
41188
41189 2007-01-01  Bruno Haible  <bruno@clisp.org>
41190
41191         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41192
41193 2007-01-03  Jim Meyering  <jim@meyering.net>
41194
41195         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41196
41197 2007-01-02  Bruno Haible  <bruno@clisp.org>
41198
41199         * modules/settime (Include): Require timespec.h.
41200         * modules/nanosleep (Include): Likewise.
41201
41202 2007-01-01  Bruno Haible  <bruno@clisp.org>
41203
41204         * gnulib-tool (func_emit_copyright_notice): Bump year.
41205         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41206
41207 2007-01-01  Bruno Haible  <bruno@clisp.org>
41208
41209         Improve support for OpenBSD.
41210         * build-aux/config.rpath (libname_spec): Export.
41211         (library_names_spec): New variable. Export.
41212         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41213         library_names_spec from the config.rpath output. Locate shared library
41214         through the name pattern in library_names_spec.
41215
41216 2007-01-01  Eric Blake  <ebb9@byu.net>
41217
41218         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41219
41220 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41221
41222         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41223         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41224         assume the C locale, and avoid an "eval" that could cause trouble.
41225         Problem with SORT reported by Bob Proulx.
41226
41227         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41228         Define.  Trivial patch from Henning Nielsen Lund, originally
41229         sent to bug-grep@gnu.org today.
41230
41231 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41232
41233         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41234         struct stat.  Problem reported by Henning Nielsen Lund.
41235         * lib/acl.c: Include acl.h first, to check interface.  Don't
41236         bother to include sys/types.h and sys/stat.h again.
41237
41238 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41239
41240         Import the following change from libc; problem reported by
41241         Sven Verdoolaege.
41242
41243         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41244
41245         [BZ #1373]
41246         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41247
41248 2006-12-28  Jim Meyering  <jim@meyering.net>
41249
41250         * build-aux/announce-gen: Do not assume that the package
41251         builds any of tar.gz, tar.bz2, and .xdelta files.
41252         Suggestion from Simon Josefsson.
41253
41254 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41255
41256         * modules/announce-gen: New file.
41257
41258 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41259
41260         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41261         handles its gotchas now.
41262         * lib/mbswidth.c: Likewise.
41263         * lib/wcwidth.h: Likewise.
41264         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41265         and iswcntrl; the wctype module does this stuff now.
41266         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41268         * modules/mbchar (Depends-on): Add wctype.
41269         * modules/mbswidth (Depends-on): Likewise.
41270         * modules/wcwidth (Depends-on): Likewise.
41271
41272 2006-12-27  Eric Blake  <ebb9@byu.net>
41273
41274         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41275         module uses more than what <wctype.h> is required to provide.
41276
41277 2006-12-26  Eric Blake  <ebb9@byu.net>
41278
41279         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41280
41281 2006-12-26  Eric Blake  <ebb9@byu.net>
41282
41283         * modules/absolute-header: New module.
41284         * modules/fcntl (Depends-on): Depend on it.
41285         * modules/inttypes (Depends-on): Likewise.
41286         * modules/stdint (Depends-on): Likewise.
41287         * modules/sys_stat (Depends-on): Likewise.
41288         * modules/wctype (Depends-on): Likewise.
41289         * MODULES.html.sh (Support for building libraries and
41290         executables): Document it.
41291
41292 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41293
41294         * gnulib-tool (SED): Remove, undoing previous change.
41295         The problem was that it broke coreutils on Solaris, because
41296         "sed --posix" leaked into a makefile.
41297         (sed): New alias, if 'alias' and GNU sed.
41298
41299 2006-12-24  Jim Meyering  <jim@meyering.net>
41300
41301         Work around an fchownat bug in glibc-2.4:
41302         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41303         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41304         in spite of the -P option.
41305         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41306         New macros.
41307         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41308         * modules/openat (Files): Add lib/fchownat.c.
41309         * lib/openat.c (fchownat): Don't define here.  Move to...
41310         * lib/fchownat.c: ...this new file.
41311
41312 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41313
41314         Fix bug reported by Bruno Haible in
41315         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41316         where quotearg.c didn't compile on Mac OS X 10.2 because it
41317         lacks <wchar.h> and wint_t.
41318         * lib/wctype_.h (__wctype_wint_t): New type.
41319         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41320         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41321         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41322         Arg is now of type __wctype_wint_t, not wint_t.
41323         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41324         substitute HAVE_WINT_T.
41325         * modules/wctype (Files): Add m4/wint_t.m4.
41326         (wctype.h): Substitute HAVE_WINT_T.
41327
41328 2006-12-23  Bruno Haible  <bruno@clisp.org>
41329
41330         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41331
41332 2006-12-23  Bruno Haible  <bruno@clisp.org>
41333
41334         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41335         S_ISLNK.
41336         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41337         mingw.
41338
41339 2006-12-22  Bruno Haible  <bruno@clisp.org>
41340
41341         * lib/copy-file.c: Include acl.h.
41342         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41343         Close the file descriptors only after being done with copy_acl.
41344         * modules/copy-file (Depends-on): Add acl.
41345
41346 2006-12-22  Bruno Haible  <bruno@clisp.org>
41347
41348         * gnulib-tool (SED): New variable.
41349         Use $SED instead of sed everywhere.
41350
41351 2006-12-22  Bruno Haible  <bruno@clisp.org>
41352
41353         * modules/no-c++: New file.
41354         * m4/no-c++.m4: New file.
41355         * MODULES.html.sh (Support for building libraries and executables):
41356         Add no-c++.
41357
41358 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41359
41360         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41361         Include <limits.h>, and use its INT_MAX to rewrite the
41362         j loop so that it does not overflow 'int'.  Problem reported by
41363         Ralf Wildenhues in
41364         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41365         Play it safe by shifting left by 1 rather than multiplying by 2,
41366         as GCC is less likely to optimize this away when the value
41367         is signed (when it assumes overflow leads to undefined behavior).
41368         Also, don't assume time_t uses two's complement.
41369
41370 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41371
41372         * MODULES.html.sh: New module wctype.
41373         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41374         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41375         <wctype.h>, since the new wctype module should fix this.
41376         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41377         the wctype module should arrange for it.
41378         * lib/regex_internal.h: Likewise.
41379         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41380         since the wctype module should handle this now.
41381         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41382         * modules/fnmatch (Depends-on): Add wctype.
41383         * modules/quotearg (Depends-on): Likewise.
41384         * modules/regex (Depends-on): Likewise.
41385
41386 2006-12-19  Bruno Haible  <bruno@clisp.org>
41387
41388         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41389         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41390
41391 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41392
41393         * modules/savewd (Depends-on): Fix dependency on fcntl.
41394
41395 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41396
41397         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41398         conforms to C99, rather than relying on the user's environment
41399         setting of STDINT_H.
41400
41401 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41402         and Eric Blake  <ebb9@byu.net>
41403
41404         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41405         This is more consistent with the other defines here.
41406         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41407         Port to z/OS.  Problem reported by Paul Gilmartin.
41408         Change local vars to use gl_ prefix rather than ac_.
41409         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41410         with other defines.
41411         * modules/double-slash-root: New module.
41412         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41413         (Depends-on): Add double-slash-root.
41414         * MODULES.html.sh (File system functions): Mention new module.
41415
41416 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41417
41418         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41419         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41420         This is for the benefit of gzip, which doesn't do i18n.
41421
41422 2006-12-12  Jim Meyering  <jim@meyering.net>
41423
41424         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41425         Reported by Andreas Schwab <schwab@suse.de>.
41426
41427 2006-12-12  Bruno Haible  <bruno@clisp.org>
41428
41429         Merge these changes.
41430         2006-09-05  Bruno Haible  <bruno@clisp.org>
41431         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41432         iconv_alloc succeeded.
41433         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41434         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41435         test for " && dest " at the end - dest is always != NULL there. Call
41436         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41437         with 2xNULL arguments, also to flush the state storage. Handle the
41438         IRIX iconv behaviour. Realloc the final result, to throw away unused
41439         memory.
41440
41441 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41442
41443         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41444         and fchmodat unconditionally, since glibc 2.4 has them.
41445         Problem reported by Arkadiusz Miskiewicz.
41446
41447 2006-12-10  Bruno Haible  <bruno@clisp.org>
41448
41449         * gnulib-tool (func_import): Show the include files only for those
41450         modules that are copied and specified.
41451         Reported by Karl Berry.
41452
41453 2006-12-08  Jim Meyering  <jim@meyering.net>
41454
41455         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41456         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41457
41458         * build-aux/announce-gen: Add two new options, both optional:
41459         --bootstrap-tools=TOOL_LIST
41460               a comma-separated list of tools, e.g.,
41461               autoconf,automake,bison,gnulib
41462         --gnulib-snapshot-date=DATE
41463               if gnulib is in the bootstrap tool list,
41464               then report this as the snapshot date.
41465               If not specified, use the current date/time.
41466               If you specify a date here, be sure it's UTC.
41467
41468 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41469
41470         * tests/test-argp-2.sh: Fix test to match actual output.
41471         (func_compare): Fix sed script to be portable.
41472
41473 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41474
41475         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41476         workaround for this case.  It is not autoconfigured now; offhand
41477         it's hard to see how to autoconfigure it.
41478
41479 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41480
41481         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41482         a directory that is about to be chowned.  Such a directory's
41483         initial file permissions should permit the owner only and this
41484         should not be changed until after the chown, since the group and
41485         other bits would be incorrect if they granted permission before
41486         the chown.
41487
41488         Fix porting problem for iswctype reported by Georg Schwarz in:
41489         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41490         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41491         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41492         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41493         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41494
41495 2006-12-03  Jim Meyering  <jim@meyering.net>
41496
41497         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41498         p->fts_statp may not yet be defined.
41499         (fts_read): Instead, set it in the caller, once p->fts_statp is
41500         sure to be defined, and corresponds to a top-level directory.
41501         This bug made du -x fail.  Here's the coreutils test case:
41502         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41503         Reported by Mike Frysinger.
41504
41505 2006-12-01  Jim Meyering  <jim@meyering.net>
41506
41507         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41508         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41509         Reported by Simon Josefsson.
41510
41511 2006-11-30  Jim Meyering  <jim@meyering.net>
41512
41513         * m4/warning.m4: Use the all-permissive copyright notice
41514         recommended by RMS (rather than LGPL).
41515         * m4/vararrays.m4: Likewise.
41516         * m4/flexmember.m4: Likewise.
41517
41518 2006-11-29  Bruno Haible  <bruno@clisp.org>
41519
41520         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41521         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41522         using +=.
41523         Reported by Simon Josefsson <simon@josefsson.org>.
41524
41525 2006-11-28  James Youngman <jay@gnu.org>
41526
41527         * README: Advise users that they might find the bug-gnulib@gnu.org
41528         and autotools-announce@gnu.org mailing lists useful.
41529
41530 2006-11-28  Bruno Haible  <bruno@clisp.org>
41531
41532         * m4/ptrdiff_max.m4: Remove file.
41533
41534 2006-11-21  Bruno Haible  <bruno@clisp.org>
41535
41536         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41537         _AC_COMPUTE_INT.
41538         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41539         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41540         _AC_COMPUTE_INT.
41541         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41542         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41543         _AC_COMPUTE_INT.
41544         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41545
41546 2006-11-28  Jim Meyering  <jim@meyering.net>
41547
41548         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41549         warning from "gcc -Wshadow" about shadowing the builtin.
41550
41551 2006-11-27  Bruno Haible  <bruno@clisp.org>
41552
41553         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41554         _AC_COMPUTE_INT.
41555         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41556
41557 2006-11-27  Bruno Haible  <bruno@clisp.org>
41558             Paul Eggert  <eggert@cs.ucla.edu>
41559
41560         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41561
41562 2006-11-26  Bruno Haible  <bruno@clisp.org>
41563
41564         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41565         noinst_LTLIBRARIES.
41566
41567 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41568             Bruno Haible  <bruno@clisp.org>
41569
41570         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41571         if compiling with "gcc -ansi".
41572
41573 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41574
41575         Fix some incompatibilities with gcc -ansi -pedantic.
41576         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41577         if compiling pedantically with GCC, unless it's C99 or later.
41578         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41579         it mishandles gcc -ansi -pedantic as well.
41580         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41581         if gcc -pedantic.
41582         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41583         initializers for struct if -pedantic, unless it's C99 or later.
41584
41585 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41586
41587         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41588         Don't close an fd more than once. Identical atimes indicate
41589         success, not failure.
41590
41591 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41592
41593         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41594
41595 2006-11-23  Jim Meyering  <jim@meyering.net>
41596
41597         * build-aux/announce-gen: New file.  From coreutils.
41598
41599 2006-11-22  Jim Meyering  <jim@meyering.net>
41600
41601         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41602         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41603         (fts_read): Use a temporary to narrow the overused st_size member
41604         before using it in a switch statement.  Reported by Matthew Woehlke.
41605
41606         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41607         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41608
41609 2006-11-20  Bruno Haible  <bruno@clisp.org>
41610
41611         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41612         changequote instead of pairs of brackets.
41613         Reported by Andreas Schwab <schwab@suse.de>.
41614
41615 2006-11-21  Jim Meyering  <jim@meyering.net>
41616
41617         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41618         so as to remain compatible with older compilers.
41619         Patch from Michael Deutschmann.
41620
41621 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41622
41623         * MODULES.html.sh (File system functions): Add openat.
41624
41625         * lib/openat.h (rpl_fstatat): New macro, if
41626         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41627         (fstatat): Define to rpl_fstatat under the same conditions,
41628         unless COMPILING_FSTATAT.
41629         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41630         seems to have the bug.
41631         * lib/fstatat.c: New file.
41632         * modules/openat (Files): Add it.
41633
41634 2006-11-20  Bruno Haible  <bruno@clisp.org>
41635
41636         * Makefile: New file.
41637
41638 2006-11-20  Jim Meyering  <jim@meyering.net>
41639
41640         The beginnings of syntax-related checks for gnulib.
41641         * lib/Makefile: New file.
41642         * lib/t-idcache: New script.  Ensure that the two halves of
41643         idcache.c stay in sync.
41644
41645         * lib/idcache.c: Adjust comments in user- and group- portions to
41646         be more accurate, and to be consistent with one another.
41647
41648 2006-11-20  Jim Meyering  <jim@meyering.net>
41649
41650         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
41651         continue using the flexible array member (thus, this module performs
41652         half as many malloc calls), with the addition that...
41653         (getgroup, getuser): Consistently record a non-match via an empty
41654         "name" string, and map an empty string match to a NULL return value.
41655         * modules/idcache (Depends-on): Re-add flexmember.
41656
41657         * lib/idcache.c (getuser): Remove all uses of the register keyword.
41658         (getuidbyname, getgroup, getgidbyname): Likewise.
41659
41660         Use cleaner syntax: NULL rather than 0.
41661         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
41662
41663 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41664
41665         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
41666         It mishandled the case where the group was missing.
41667         Problem reported by Greg Schafer.
41668         * modules/idcache: Likewise.
41669
41670 2006-11-18  Jim Meyering  <jim@meyering.net>
41671
41672         * check-module (%exempt_header): Add exception for some
41673         conditionally-included headers.
41674
41675         * modules/i-ring (Depends-on): Add verify.
41676         (License): Change to LGPL.
41677
41678 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41679
41680         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
41681         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
41682         and inttostr.h.  Use snprintf rather than uinttostr, so that
41683         LGPLed code doesn't depend on GPLed.
41684
41685 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41686
41687         * modules/inline (License): Change from GPL to LGPL.
41688
41689 2006-11-17  Jim Meyering  <jim@meyering.net>
41690
41691         * modules/d-type (License): Switch to LGPL.
41692
41693 2006-11-15  Bruno Haible  <bruno@clisp.org>
41694
41695         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
41696
41697 2006-11-15  Eric Blake  <ebb9@byu.net>
41698
41699         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
41700         the module dependency.
41701
41702 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41703             Bruno Haible  <bruno@clisp.org>
41704
41705         * gnulib-tool (func_create_testdir): Add license consistency check.
41706
41707 2006-11-15  Eric Blake  <ebb9@byu.net>
41708
41709         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
41710         random "(cached)" in configure output.
41711
41712 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41713
41714         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
41715         test for conforming inttypes.h is both announced and cached.
41716
41717         * MODULES.html.sh (seen_modules, seen_files): New variables.
41718         (func_module): Rewrite to use a few less gnulib-tool and sed
41719         invocations.  Avoid a couple of quadratic algorithms for ...
41720         (missed_modules, missed_files): ... these, with ...
41721         (func_append, func_tmpdir): ... these new functions, from
41722         gnulib-tool.  Analogously, install traps for cleanup.
41723
41724         * tests/test-gc.c (main): Remove unused variables.
41725         * tests/test-read-file.c: Include stdlib.h, for 'free'.
41726
41727 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
41728
41729         * modules/inttostr (License): Change to LGPL.
41730
41731 2006-11-14  Eric Blake  <ebb9@byu.net>
41732
41733         * modules/tempname (License): Change to LGPL.
41734
41735 2006-11-14  Eric Blake  <ebb9@byu.net>
41736
41737         * doc/functions.texi (Function Portability): *printf functions on
41738         Cygwin now understand all POSIX size specifiers.
41739
41740 2006-11-14  Bruno Haible  <bruno@clisp.org>
41741
41742         * modules/c-ctype (License): Change to LGPL.
41743
41744 2006-11-12  Bruno Haible  <bruno@clisp.org>
41745
41746         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41747         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
41748         for GNOME libraries, for which the include files are installed in
41749         subdirectories of $prefix/include.
41750
41751 2006-11-12  Bruno Haible  <bruno@clisp.org>
41752
41753         * m4/lib-link.m4: Require at least autoconf-2.54.
41754         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
41755         name to underscores for the --with option.
41756
41757 2006-11-13  Bruno Haible  <bruno@clisp.org>
41758
41759         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
41760         the tests directory.
41761         Reported by Ralf Wildenhues.
41762
41763 2006-11-13  Bruno Haible  <bruno@clisp.org>
41764
41765         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
41766         (func_emit_initmacro_end): Undo the override here.
41767         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
41768         Works around the famous automake error in coreutils.
41769
41770 2006-11-13  Eric Blake  <ebb9@byu.net>
41771
41772         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
41773         element, not its node.
41774
41775 2006-11-12  Bruno Haible  <bruno@clisp.org>
41776
41777         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
41778         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
41779
41780 2006-11-12  Bruno Haible  <bruno@clisp.org>
41781
41782         * gnulib-tool: New option --local-symlink.
41783         (func_usage): Document it.
41784         (lsymbolic): New variable.
41785         (func_import, func_create_testdir): If --symlink was not specified,
41786         test whether --local-symlink was specified and the file comes from
41787         the local_gnulib_dir.
41788
41789 2006-11-12  Bruno Haible  <bruno@clisp.org>
41790
41791         * gnulib-tool (func_ln): New function.
41792         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
41793
41794 2006-11-12  Bruno Haible  <bruno@clisp.org>
41795
41796         Finish support for source files in subdirectories.
41797         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
41798         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
41799         AUTOMAKE_OPTIONS.
41800         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
41801
41802 2006-11-12  Bruno Haible  <bruno@clisp.org>
41803
41804         * gnulib-tool (func_get_automake_snippet): Synthesize also an
41805         EXTRA_lib_SOURCES augmentation.
41806         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
41807
41808 2006-11-12  Jim Meyering  <jim@meyering.net>
41809
41810         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
41811         file descriptors.  This also averts a failure on systems with
41812         native openat support when a traversed directory lacks "x" access.
41813         * lib/fts_.h: Include "i-ring.h"
41814         (struct FTS) [fts_fd_ring]: New member.
41815         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
41816         (FCHDIR): Add parentheses.
41817         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
41818         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
41819         When descending, rather than simply closing the previous
41820         fts_cwd_fd value, push that file descriptor onto the ring.
41821         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
41822         (fts_open): Initialize the new fd_ring member.
41823         (fts_close): Clear the ring.
41824         (fts_safe_changedir): When possible, use our new fd_ring to skip
41825         the diropen and fstat and dev/ino comparison that would normally
41826         accompany a virtual `chdir ("..")'.
41827
41828         * modules/fts (Depends-on): Add i-ring.
41829         * modules/i-ring: New module.
41830         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
41831         * m4/i-ring.m4: New file.
41832
41833 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41834
41835         * gnulib-tool (func_create_testdir): Fix replacement of
41836         `build-aux' in configure.ac.  Run autotools in gltests
41837         subdirectory.
41838         (func_create_testdir, func_create_megatestdir, test): There is
41839         no need for '--force' in most autotool invocations in a new
41840         tree.  Actually fail the whole test if any of the tools, or the
41841         configure or make stages fail.
41842
41843         Sync from Automake.
41844         * build-aux/gnupload: Revert last change.  Add pointer to upload
41845         instructions of the GNU Maintenance Instructions.
41846         Suggestion by Karl Berry.
41847
41848 2006-11-10  Jim Meyering  <jim@meyering.net>
41849
41850         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
41851
41852 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41853
41854         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
41855         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
41856         (bind_textdomain_codeset) [! ENABLE_NLS]:
41857         Evaluate all the arguments.  That way, callers get compatible behavior
41858         if the arguments have side effects.  Also, it avoids some GCC
41859         diagnostics in some cases; Joel E. Denny reported problems when Bison
41860         was configured with --enable-gcc-warnigs.
41861
41862 2006-11-10  Jim Meyering  <jim@meyering.net>
41863
41864         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
41865         relevant options in CFLAGS (like -O, -fno-inline) are taken into
41866         account.
41867
41868 2006-11-10  Jim Meyering  <jim@meyering.net>
41869
41870         * modules/inline: New file/module.
41871         * modules/xalloc (Files): Remove m4/inline.m4.
41872         (Depends-on): Add inline, instead.
41873         * modules/oset: Likewise.
41874         * modules/list: Likewise.
41875
41876 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41877
41878         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
41879         Problem reported by Matthew Woehlke.
41880
41881 2006-11-09  Bruno Haible  <bruno@clisp.org>
41882
41883         * lib/tempname.c (gen_tempname): Remove variant that invokes
41884         __gen_tempname.
41885         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
41886         __gen_tempname.
41887
41888 2006-11-08  Bruno Haible  <bruno@clisp.org>
41889
41890         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
41891         to 'yes' instead of 'cross-compiling'.
41892
41893 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
41894
41895         * lib/quotearg.h (quotearg_free): New decl.
41896         * lib/quotearg.c (quotearg_free): New function.
41897         (slot0, nslots, slotvec0, slotvec):
41898         Now file-scope so that quotearg_free can get at them.
41899
41900 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41901
41902         Sync from Automake.
41903         * build-aux/gnupload: Add missing 'gnu' to example URL.
41904         Report by Karl Berry.
41905
41906 2006-11-08  Bruno Haible  <bruno@clisp.org>
41907
41908         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
41909         Suggested by Paul Eggert.
41910
41911 2006-11-08  Jim Meyering  <jim@meyering.net>
41912
41913         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
41914         It's already included if !_LIBC.
41915         (fts_safe_changedir): Add a comment.
41916
41917 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41918
41919         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
41920         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
41921         Matthew Woehlke.
41922
41923         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
41924         definitions up, to avoid colliding with change below.
41925         (static_inline) [HAVE_INLINE]: New macro.
41926         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
41927         Provide extern decls when !HAVE_INLINE.  Do not define unless
41928         static_inline is defined, either by us or by xmalloc.c.  Use
41929         static_inline rather than static inline.
41930         (XCALLOC): Optimize sizeof(T) = 1 case.
41931         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
41932
41933 2006-11-07  Bruno Haible  <bruno@clisp.org>
41934
41935         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
41936         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
41937         AC_C_INLINE.
41938         * modules/xalloc (Files): Add m4/inline.m4.
41939
41940 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41941
41942         * README: Fix typo.
41943         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
41944         (Miscellanous Notes): ...from this.
41945
41946 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41947
41948         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
41949         Mention that offsetof should be used instead of sizeof.
41950         From Bruno Haible.
41951
41952 2006-11-07  Bruno Haible  <bruno@clisp.org>
41953
41954         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
41955
41956 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
41957
41958         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
41959         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
41960         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
41961         (gl_tree_add_before, gl_tree_add_after):
41962         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
41963         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
41964         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
41965         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
41966         (gl_linked_add_after, gl_linked_add_at): Likewise.
41967         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
41968         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
41969         (gl_tree_add_before, gl_tree_add_after): Likewise.
41970         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
41971         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
41972         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41973
41974 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41975
41976         * lib/gl_oset.h: Use C comment style, not C++ comment style.
41977
41978 2006-11-06  Bruno Haible  <bruno@clisp.org>
41979
41980         * m4/inline.m4: New file.
41981         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
41982         * modules/list (Files): Add m4/inline.m4.
41983         * modules/oset (Files): Likewise.
41984
41985 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
41986
41987         * lib/idcache.c: Include <stddef.h>, for offsetof.
41988         (struct userid.name): Change from char * to a flexible array member.
41989         All uses changed.
41990         * modules/idcache (Depends-on): Add flexmember.
41991
41992         * MODULES.html.sh (Core language properties): New module flexmember.
41993         * modules/flexmember, m4/flexmember.m4: New files.
41994
41995         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
41996         inline functions that are identical with the old xnmalloc_inline,
41997         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
41998         that we can avoid some unnecessary integer multiplications and
41999         divisions in the common case where the element size is known at
42000         compile time.
42001         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42002         needed.
42003         (xnboundedmalloc): Remove.
42004         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42005         arguments, for consistency with rest of this header.
42006         (xcharalloc): Rewrite using XNMALLOC.
42007         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42008         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42009         versions have been moved to lib/xalloc.h and renamed to be the
42010         non-*_inline versions.
42011         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42012         and xnrealloc functions, since those functions are now inline and
42013         now call us.
42014         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42015         renaming described above.
42016         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42017         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42018         captures the dependency in AC_C_INLINE.
42019
42020         New module canonicalize-lgpl, proposed by Charles Wilson in
42021         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42022         with a few small changes afterwards.
42023         * MODULES.html.sh (File system functions): New module
42024         canonicalize-lgpl.
42025         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42026         and canonicalize_file_name.
42027         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42028         * modules/canonicalize-lgpl: New files.
42029
42030 2006-11-05  Bruno Haible  <bruno@clisp.org>
42031
42032         * gnulib-tool (func_import, func_create_testdir): Create directories
42033         also for files in subdirectories of lib/.
42034
42035 2006-11-05  Bruno Haible  <bruno@clisp.org>
42036
42037         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42038         ANSI C compliant.
42039
42040 2006-11-03  Bruno Haible  <bruno@clisp.org>
42041
42042         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42043         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42044         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42045         (xnboundedmalloc): New inline function.
42046         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42047         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42048         xmalloc.
42049         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42050         xmalloc.
42051         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42052         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42053         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42054         xmalloc.
42055         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42056         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42057         xmalloc.
42058         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42059         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42060         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42061         xmalloc.
42062         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42063         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42064         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42065         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42066         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42067         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42068         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42069
42070 2006-11-03  Bruno Haible  <bruno@clisp.org>
42071
42072         * lib/c-ctype.h [C++]: Define functions without name mangling.
42073         * lib/fwriteerror.h [C++]: Likewise.
42074         * lib/gcd.h [C++]: Likewise.
42075         * lib/linebreak.h [C++]: Likewise.
42076
42077 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42078
42079         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42080         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42081         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42082         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42083         Check for functions and headers just once.
42084         Check for declaration of canonicalize_file_name.
42085         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42086
42087 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42088
42089         * gnulib-tool (func_import): Fix typo in actioncmd.
42090
42091 2006-11-02  Bruno Haible  <bruno@clisp.org>
42092
42093         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42094         newline sequence in the Makefile.am snippet as a space, like "make"
42095         does.
42096         Reported by Roger Persson <perrog@gmail.com>.
42097
42098 2006-11-01  Bruno Haible  <bruno@clisp.org>
42099
42100         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42101         already declared in <string.h>.
42102         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42103
42104 2006-11-01  Bruno Haible  <bruno@clisp.org>
42105
42106         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42107         * lib/strcase.h: Include <string.h>.
42108         (strcasecmp): Define to rpl_strcasecmp here.
42109
42110 2006-11-01  Bruno Haible  <bruno@clisp.org>
42111
42112         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42113
42114 2006-11-01  Eric Blake  <ebb9@byu.net>
42115
42116         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42117
42118         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42119
42120 2006-10-29  Bruno Haible  <bruno@clisp.org>
42121
42122         Make it compile in C++ mode.
42123         * lib/full-write.c (full_rw): Add a cast.
42124
42125 2006-11-01  Bruno Haible  <bruno@clisp.org>
42126
42127         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42128         be POSIX compliant.
42129         Reported by Roger Persson <perrog@gmail.com>.
42130
42131 2006-11-01  Eric Blake  <ebb9@byu.net>
42132
42133         * lib/getopt_.h: Fix comments.
42134
42135 2006-10-31  Eric Blake  <ebb9@byu.net>
42136
42137         * modules/tmpdir (Depends-on): Add sys_stat.
42138         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42139         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42140         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42141         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42142         tempname.
42143
42144 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42145
42146         Avoid some C++ diagnostics reported by Bruno Haible.
42147         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42148         xmalloc.
42149         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42150         (struct slotvec): Move to top level.
42151         (quotearg_n_options): Rewrite to avoid xmalloc.
42152         * lib/xalloc.h (xcharalloc): New function.
42153         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42154         [defined __cplusplus]: Add function template that provides result
42155         type propagation.  This part of the change is from Bruno Haible.
42156
42157 2006-10-29  Bruno Haible  <bruno@clisp.org>
42158
42159         Make it compile in C++ mode.
42160         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
42161         * lib/strnlen1.c (strnlen1): Cast memchr result.
42162         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
42163         * lib/clean-temp.c (string_equals, string_hash): Add casts.
42164         (create_temp_dir): Rename local variable 'template'.
42165         (compile_csharp_using_sscli): Add cast.
42166         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
42167         * lib/findprog.c (find_in_path): Likewise.
42168         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
42169         * lib/wait-process.c (register_slave_subprocess): Likewise.
42170
42171 2006-10-22  Bruno Haible  <bruno@clisp.org>
42172
42173         * modules/tsearch: New file.
42174         * lib/tsearch.h: New file.
42175         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
42176         * m4/tsearch.m4: New file.
42177         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
42178
42179 2006-10-29  Eric Blake  <ebb9@byu.net>
42180
42181         * lib/arcfour.c: Assume config.h.
42182         * lib/arctwo.c: Likewise.
42183         * lib/base64.c: Likewise.
42184         * lib/check-version.c: Likewise.
42185         * lib/crc.c: Likewise.
42186         * lib/des.c: Likewise.
42187         * lib/gc-gnulib.c: Likewise.
42188         * lib/gc-libgcrypt.c: Likewise.
42189         * lib/gc-pbkdf2-sha1.c: Likewise.
42190         * lib/getaddrinfo.c: Likewise.
42191         * lib/getdelim.c: Likewise.
42192         * lib/getline.c: Likewise.
42193         * lib/hmac-md5.c: Likewise.
42194         * lib/hmac-sha1.c: Likewise.
42195         * lib/iconvme.c: Likewise.
42196         * lib/md2.c: Likewise.
42197         * lib/md4.c: Likewise.
42198         * lib/memxor.c: Likewise.
42199         * lib/read-file.c: Likewise.
42200         * lib/readline.c: Likewise.
42201         * lib/rijndael-alg-fst.c: Likewise.
42202         * lib/rijndael-api-fst.c: Likewise.
42203         * lib/xgetdomainname.c: Likewise.
42204
42205 2006-10-28  Eric Blake  <ebb9@byu.net>
42206
42207         * lib/xstrndup.c: Assume config.h.
42208
42209 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42210
42211         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42212         stat-macros.h is now for our own macros, whereas stat_h is for
42213         macros in the <sys/stat.h> name space.
42214         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42215         (STAT_MACROS_H): Remove.
42216         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42217         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42218         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42219         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42220         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42221         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42222         Move these macros to ...
42223         * lib/stat_.h: here.  Don't include stat-macros.h.
42224         * lib/canonicalize.c: Don't include stat-macros.h.
42225         * lib/chown.c: Likewise.
42226         * lib/euidaccess.c: Likewise.
42227         * lib/file-type.c: Likewise.
42228         * lib/filemode.c: Likewise.
42229         * lib/glob.c: Likewise.
42230         * lib/isapipe.c: Likewise.
42231         * lib/lchown.c: Likewise.
42232         * lib/lstat.c: Likewise.
42233         * lib/mkdir-p.c: Likewise.
42234         * lib/rmdir.c: Likewise.
42235         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42236         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42237         unless mkdir isn't declared, to speed up 'configure'.
42238         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42239         would define all the S_* symbols.
42240         * modules/canonicalize (Depends-on):
42241         Depend on sys_stat, not stat-macros.
42242         * modules/chown: Likewise.
42243         * modules/euidaccess: Likewise.
42244         * modules/filemode: Likewise.
42245         * modules/file-type: Likewise.
42246         * modules/glob: Likewise.
42247         * modules/isapipe: Likewise.
42248         * modules/lchown: Likewise.
42249         * modules/lstat: Likewise.
42250         * modules/mkancesdirs: Likewise.
42251         * modules/rmdir: Likewise.
42252         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42253         * modules/modechange: Likewise.
42254         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42255         (configure.ac): Remove gl_STAT_MACROS.
42256         * modules/sys_stat (Depends-on): Remove stat-macros.
42257
42258 2006-10-27  Bruno Haible  <bruno@clisp.org>
42259
42260         * m4/signed.m4: Remove file.
42261         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42262         invocation.
42263         * modules/vasnprintf (Files): Remove m4/signed.m4.
42264
42265 2006-10-27  Bruno Haible  <bruno@clisp.org>
42266
42267         Update to GNU gettext 0.16.
42268         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42269         m4/inttypes-h.m4, m4/signed.m4.
42270         * m4/gettext.m4: Update to GNU gettext 0.16.
42271         * m4/intl.m4: New file, from GNU gettext.
42272         * m4/intldir.m4: New file, from GNU gettext.
42273         * config/srclist.txt: Update
42274
42275 2006-10-27  Eric Blake  <ebb9@byu.net>
42276
42277         * MODULES.html.sh: Document tempname.
42278         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42279         dependencies.
42280         (Files): Move lib/tempname.c...
42281         * modules/tempname: ...to this new module.
42282         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42283         (gl_PREREQ_TEMPNAME): Move...
42284         * m4/tempname.m4: ...to this new file.
42285         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42286         * modules/sys_stat (Depends-on): Add stat-macros.
42287         * lib/stat_.h (includes): Pick up stat macros.
42288         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42289         if stat macros are broken.
42290         * lib/tempname.c (includes): No need to include "stat-macros.h".
42291         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42292         (direxists, __path_search) [!_LIBC]: Don't compile these in
42293         gnulib; the tmpdir module covers that.
42294         * lib/tempname.h: New file.
42295
42296 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42297
42298         * COPYING: Explain how gnulib-tool converts licence headers.
42299         Almost all wording by Eric Blake.
42300
42301 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42302
42303         * lib/mbchar.h (is_basic_table): Make read-only.
42304         * lib/mbchar.c (is_basic_table): Likewise.
42305         Reported by John Darrington.
42306
42307 2006-10-25  Bruno Haible  <bruno@clisp.org>
42308
42309         * lib/progname.h (set_program_name): Undefine before defining.
42310
42311 2006-10-25  Bruno Haible  <bruno@clisp.org>
42312
42313         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42314         false for non-gcc C++ compilers.
42315         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42316
42317 2006-10-24  Bruno Haible  <bruno@clisp.org>
42318
42319         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42320         iconv implementations like Irix iconv.
42321
42322 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42323
42324         * modules/vararrays: New file.
42325         * m4/vararrays.m4: New file, taken from diffutils.
42326         * MODULES.html.sh: New module vararrays.
42327
42328 2006-10-24  Karl Berry  <karl@gnu.org>
42329
42330         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42331         Don't call GNU Unix.
42332
42333 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42334
42335         * users.txt: Add Libtool.
42336
42337         Sync from Libtool:
42338
42339         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42340
42341         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42342         to gnulib's policy of including config.h unconditionally.
42343
42344 2006-10-24  Bruno Haible  <bruno@clisp.org>
42345
42346         * modules/wcwidth (Files): Add m4/wint_t.m4.
42347         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42348         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42349
42350 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42351
42352         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42353         to pacify GCC with some -W flags enabled.  Problem reported by
42354         Bruno Haible.
42355
42356 2006-10-24  Jim Meyering  <jim@meyering.net>
42357
42358         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42359         Reported by Karl Berry.
42360
42361 2006-10-23  Bruno Haible  <bruno@clisp.org>
42362
42363         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42364
42365 2006-10-24  Bruno Haible  <bruno@clisp.org>
42366
42367         * lib/gl_list.h: Use C comment style, not C++ comment style.
42368
42369 2006-10-23  Eric Blake  <ebb9@byu.net>
42370
42371         * lib/getaddrinfo.c (includes): Add missing include.
42372
42373 2006-10-23  Bruno Haible  <bruno@clisp.org>
42374             Paul Eggert  <eggert@cs.ucla.edu>
42375
42376         Ability to rename obstack_free.
42377         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42378         obstack_free.
42379         (obstack_free): Invoke the __obstack_free macro.
42380         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42381
42382 2006-10-23  Bruno Haible  <bruno@clisp.org>
42383             Paul Eggert  <eggert@cs.ucla.edu>
42384
42385         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42386         __argc, __argv from the declaration. (They are defined as macros on
42387         mingw.)
42388
42389 2006-10-22  Bruno Haible  <bruno@clisp.org>
42390
42391         * doc/gnulib-intro.texi: New file.
42392         * doc/gnulib.texi: Include it.
42393
42394 2006-10-21  Bruno Haible  <bruno@clisp.org>
42395
42396         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42397         "Introduction", "Miscellanous Notes", "Particular Modules".
42398
42399 2006-10-21  Bruno Haible  <bruno@clisp.org>
42400
42401         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42402         Change mostlyclean-local rule to avoid sh syntax error from bash
42403         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42404
42405 2006-10-23  Jim Meyering  <jim@meyering.net>
42406
42407         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42408         in place of snprintf.
42409
42410         * modules/inttostr (Files): Add lib/uinttostr.c.
42411         * lib/uinttostr.c (inttostr): New file/function.
42412         * lib/inttostr.h (uinttostr): Declare.
42413         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42414         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42415         Add uinttostr.
42416         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42417
42418 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42419
42420         * lib/canonicalize.c (ELOOP): Define if not already defined.
42421         Problem reported by Bruno Haible in
42422         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42423
42424 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42425
42426         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42427         Problem reported by Perry Smith and Ville Laurikari.
42428
42429         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42430         uses.
42431
42432 2006-10-19  Bruno Haible  <bruno@clisp.org>
42433
42434         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42435         for mingw.
42436
42437 2006-10-19  Bruno Haible  <bruno@clisp.org>
42438
42439         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42440         Needed for mingw.
42441
42442 2006-10-19  Bruno Haible  <bruno@clisp.org>
42443
42444         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42445
42446 2006-10-19  Bruno Haible  <bruno@clisp.org>
42447
42448         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42449         it.
42450
42451 2006-10-19  Bruno Haible  <bruno@clisp.org>
42452
42453         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42454         invocation.
42455
42456 2006-10-19  Bruno Haible  <bruno@clisp.org>
42457
42458         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42459         mountlist by default.
42460
42461 2006-10-16  Bruno Haible  <bruno@clisp.org>
42462
42463         * lib/c-strstr.c: Include c-strstr.h.
42464
42465 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42466
42467         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42468         in a slash.
42469
42470 2006-10-18  Bruno Haible  <bruno@clisp.org>
42471
42472         * lib/lock.h [C++]: Wrap definitions in extern "C".
42473
42474 2006-10-18  Bruno Haible  <bruno@clisp.org>
42475
42476         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42477         gl_LIBOBJS list.
42478
42479 2006-10-18  Bruno Haible  <bruno@clisp.org>
42480
42481         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42482
42483 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42484
42485         * lib/xstrtol.h: Include gettext.h.
42486         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42487         Problem reported by Eric Blake.
42488         * modules/xstrtol (Depends-on): Add gettext-h.
42489
42490 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42491
42492         * lib/strftime.c (advance): New macro.
42493         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42494         incomplete type, so you can't add 0 to it.  Problem and patch
42495         reported by Eelco Dolstra for dietlibc.
42496
42497 2006-10-18  Jim Meyering  <jim@meyering.net>
42498
42499         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42500         type for a local, and rename it: s/up/user_proc/.
42501
42502 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42503
42504         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42505         READ_UTMP_USER_PROCESS.
42506         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42507
42508 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42509
42510         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42511         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42512
42513 2006-10-17  Eric Blake  <ebb9@byu.net>
42514
42515         * lib/sigprocmask.c (sigprocmask): Fix typo.
42516
42517         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42518
42519         * modules/clean-temp (Makefile.am): Don't add to make output...
42520         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42521         config.h.
42522
42523 2006-10-17  Bruno Haible  <bruno@clisp.org>
42524
42525         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42526         differently if DEFAULT_TEXT_DOMAIN is set.
42527
42528 2006-10-16  Bruno Haible  <bruno@clisp.org>
42529
42530         * lib/clean-temp.c: Include fwriteerror.h.
42531
42532 2006-10-16  Bruno Haible  <bruno@clisp.org>
42533
42534         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42535
42536 2006-10-16  Bruno Haible  <bruno@clisp.org>
42537
42538         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42539         * lib/sigprocmask.h: Include <sys/types.h>.
42540         (sigset_t): Use the system's definition if present.
42541
42542 2006-10-17  Eric Blake  <ebb9@byu.net>
42543
42544         * lib/xvasprintf.c (includes): Assume config.h.
42545         * lib/xasprintf.c (includes): Likewise.
42546
42547 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42548
42549         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42550         at least as wide as intmax_t.
42551
42552 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42553
42554         (Imported from Automake.)
42555         * build-aux/gnupload: Update to version 1.1 of directive file.
42556
42557 2006-10-16  Eric Blake  <ebb9@byu.net>
42558
42559         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42560         match Automake 1.10a.
42561
42562 2006-10-14  Bruno Haible  <bruno@clisp.org>
42563
42564         * modules/sigprocmask: New file.
42565         * lib/sigprocmask.h: New file.
42566         * lib/sigprocmask.c: New file.
42567         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42568         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42569         request sigprocmask.o.
42570         (gl_PREREQ_SIGPROCMASK): New macro.
42571         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42572         (Depends-on): Add sigprocmask.
42573         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42574         gt_SIGNALBLOCKING. Test for 'raise' only once.
42575         * lib/fatal-signal.c: Include sigprocmask.h.
42576         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42577         unblock_fatal_signals): Define always.
42578         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42579         sigprocmask.
42580
42581 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42582
42583         Sync from Automake.
42584         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42585         which incorrectly sets the mode of an existing destination
42586         directory.  In some cases the unpatched install-sh could do the
42587         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42588         system.  We hope this is rare in practice, but it's clearly worth
42589         fixing.  Problem reported by Alex Unleashed in
42590         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42591         Also, don't bother to check for -m bugs unless we're using -m;
42592         suggested by Stepan Kasal.
42593
42594 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42595
42596         Sync from Automake.
42597         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42598         `-c' flag, so they appear at the same position as in %FASTDEP%
42599         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42600         which ignores unknown options only after the first non-option.
42601         Bug report against M4 by Nelson H. F. Beebe.
42602
42603 2006-10-13  Jim Meyering  <jim@meyering.net>
42604
42605         Fix a bug in yesterday's change.
42606         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42607         p->fts_statp->st_dev would be used uninitialized.
42608         Ensures that we always call fts_stat on the very first entry.
42609         Miklos Szeredi reported that find -xdev stopped working.
42610
42611 2006-10-12  Bruno Haible  <bruno@clisp.org>
42612
42613         * gnulib-tool (func_get_automake_snippet): Append an automatically
42614         computed EXTRA_DIST augmentation.
42615         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42616         * modules/alloca-opt (Makefile.am): Likewise.
42617         * modules/allocsa (Makefile.am): Likewise.
42618         * modules/arcfour (Makefile.am): Likewise.
42619         * modules/arctwo (Makefile.am): Likewise.
42620         * modules/argmatch (Makefile.am): Likewise.
42621         * modules/argz (Makefile.am): Likewise.
42622         * modules/atexit (Makefile.am): Likewise.
42623         * modules/backupfile (Makefile.am): Likewise.
42624         * modules/byteswap (Makefile.am): Likewise.
42625         * modules/c-strtod (Makefile.am): Likewise.
42626         * modules/c-strtold (Makefile.am): Likewise.
42627         * modules/calloc (Makefile.am): Likewise.
42628         * modules/canon-host (Makefile.am): Likewise.
42629         * modules/canonicalize (Makefile.am): Likewise.
42630         * modules/chdir-long (Makefile.am): Likewise.
42631         * modules/chdir-safer (Makefile.am): Likewise.
42632         * modules/check-version (Makefile.am): Likewise.
42633         * modules/chown (Makefile.am): Likewise.
42634         * modules/cloexec (Makefile.am): Likewise.
42635         * modules/close-stream (Makefile.am): Likewise.
42636         * modules/closeout (Makefile.am): Likewise.
42637         * modules/crc (Makefile.am): Likewise.
42638         * modules/csharpexec (Makefile.am): Likewise.
42639         * modules/cycle-check (Makefile.am): Likewise.
42640         * modules/des (Makefile.am): Likewise.
42641         * modules/dev-ino (Makefile.am): Likewise.
42642         * modules/dirfd (Makefile.am): Likewise.
42643         * modules/dirname (Makefile.am): Likewise.
42644         * modules/dup2 (Makefile.am): Likewise.
42645         * modules/eealloc (Makefile.am): Likewise.
42646         * modules/error (Makefile.am): Likewise.
42647         * modules/euidaccess (Makefile.am): Likewise.
42648         * modules/exclude (Makefile.am): Likewise.
42649         * modules/exitfail (Makefile.am): Likewise.
42650         * modules/fcntl-safer (Makefile.am): Likewise.
42651         * modules/fcntl (Makefile.am): Likewise.
42652         * modules/file-type (Makefile.am): Likewise.
42653         * modules/fileblocks (Makefile.am): Likewise.
42654         * modules/filemode (Makefile.am): Likewise.
42655         * modules/filenamecat (Makefile.am): Likewise.
42656         * modules/fnmatch (Makefile.am): Likewise.
42657         * modules/fopen-safer (Makefile.am): Likewise.
42658         * modules/fpending (Makefile.am): Likewise.
42659         * modules/fprintftime (Makefile.am): Likewise.
42660         * modules/free (Makefile.am): Likewise.
42661         * modules/fsusage (Makefile.am): Likewise.
42662         * modules/ftruncate (Makefile.am): Likewise.
42663         * modules/fts (Makefile.am): Likewise.
42664         * modules/gc-arcfour (Makefile.am): Likewise.
42665         * modules/gc-des (Makefile.am): Likewise.
42666         * modules/gc-hmac-md5 (Makefile.am): Likewise.
42667         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
42668         * modules/gc-md4 (Makefile.am): Likewise.
42669         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42670         * modules/gc-sha1 (Makefile.am): Likewise.
42671         * modules/gc (Makefile.am): Likewise.
42672         * modules/getaddrinfo (Makefile.am): Likewise.
42673         * modules/getcwd (Makefile.am): Likewise.
42674         * modules/getdelim (Makefile.am): Likewise.
42675         * modules/getdomainname (Makefile.am): Likewise.
42676         * modules/getgroups (Makefile.am): Likewise.
42677         * modules/gethostname (Makefile.am): Likewise.
42678         * modules/gethrxtime (Makefile.am): Likewise.
42679         * modules/getline (Makefile.am): Likewise.
42680         * modules/getloadavg (Makefile.am): Likewise.
42681         * modules/getlogin_r (Makefile.am): Likewise.
42682         * modules/getndelim2 (Makefile.am): Likewise.
42683         * modules/getopt (Makefile.am): Likewise.
42684         * modules/getpagesize (Makefile.am): Likewise.
42685         * modules/getpass-gnu (Makefile.am): Likewise.
42686         * modules/getpass (Makefile.am): Likewise.
42687         * modules/getsubopt (Makefile.am): Likewise.
42688         * modules/gettime (Makefile.am): Likewise.
42689         * modules/gettimeofday (Makefile.am): Likewise.
42690         * modules/getugroups (Makefile.am): Likewise.
42691         * modules/getusershell (Makefile.am): Likewise.
42692         * modules/glob (Makefile.am): Likewise.
42693         * modules/group-member (Makefile.am): Likewise.
42694         * modules/hard-locale (Makefile.am): Likewise.
42695         * modules/hash (Makefile.am): Likewise.
42696         * modules/hmac-md5 (Makefile.am): Likewise.
42697         * modules/hmac-sha1 (Makefile.am): Likewise.
42698         * modules/human (Makefile.am): Likewise.
42699         * modules/idcache (Makefile.am): Likewise.
42700         * modules/imaxabs (Makefile.am): Likewise.
42701         * modules/imaxdiv (Makefile.am): Likewise.
42702         * modules/inet_ntop (Makefile.am): Likewise.
42703         * modules/inet_pton (Makefile.am): Likewise.
42704         * modules/intprops (Makefile.am): Likewise.
42705         * modules/inttostr (Makefile.am): Likewise.
42706         * modules/inttypes (Makefile.am): Likewise.
42707         * modules/isapipe (Makefile.am): Likewise.
42708         * modules/javaversion (Makefile.am): Likewise.
42709         * modules/lchmod (Makefile.am): Likewise.
42710         * modules/lchown (Makefile.am): Likewise.
42711         * modules/localcharset (Makefile.am): Likewise.
42712         * modules/long-options (Makefile.am): Likewise.
42713         * modules/lstat (Makefile.am): Likewise.
42714         * modules/malloc (Makefile.am): Likewise.
42715         * modules/mathl (Makefile.am): Likewise.
42716         * modules/mbchar (Makefile.am): Likewise.
42717         * modules/md2 (Makefile.am): Likewise.
42718         * modules/md4 (Makefile.am): Likewise.
42719         * modules/md5 (Makefile.am): Likewise.
42720         * modules/memcasecmp (Makefile.am): Likewise.
42721         * modules/memchr (Makefile.am): Likewise.
42722         * modules/memcmp (Makefile.am): Likewise.
42723         * modules/memcoll (Makefile.am): Likewise.
42724         * modules/memcpy (Makefile.am): Likewise.
42725         * modules/memmem (Makefile.am): Likewise.
42726         * modules/memmove (Makefile.am): Likewise.
42727         * modules/mempcpy (Makefile.am): Likewise.
42728         * modules/memrchr (Makefile.am): Likewise.
42729         * modules/memset (Makefile.am): Likewise.
42730         * modules/memxor (Makefile.am): Likewise.
42731         * modules/mkancesdirs (Makefile.am): Likewise.
42732         * modules/mkdir-p (Makefile.am): Likewise.
42733         * modules/mkdir (Makefile.am): Likewise.
42734         * modules/mkdtemp (Makefile.am): Likewise.
42735         * modules/mkstemp (Makefile.am): Likewise.
42736         * modules/mktime (Makefile.am): Likewise.
42737         * modules/modechange (Makefile.am): Likewise.
42738         * modules/mountlist (Makefile.am): Likewise.
42739         * modules/nanosleep (Makefile.am): Likewise.
42740         * modules/obstack (Makefile.am): Likewise.
42741         * modules/openat (Makefile.am): Likewise.
42742         * modules/pagealign_alloc (Makefile.am): Likewise.
42743         * modules/pathmax (Makefile.am): Likewise.
42744         * modules/physmem (Makefile.am): Likewise.
42745         * modules/poll (Makefile.am): Likewise.
42746         * modules/posixtm (Makefile.am): Likewise.
42747         * modules/posixver (Makefile.am): Likewise.
42748         * modules/putenv (Makefile.am): Likewise.
42749         * modules/quote (Makefile.am): Likewise.
42750         * modules/quotearg (Makefile.am): Likewise.
42751         * modules/raise (Makefile.am): Likewise.
42752         * modules/read-file (Makefile.am): Likewise.
42753         * modules/readline (Makefile.am): Likewise.
42754         * modules/readlink (Makefile.am): Likewise.
42755         * modules/readtokens (Makefile.am): Likewise.
42756         * modules/readutmp (Makefile.am): Likewise.
42757         * modules/realloc (Makefile.am): Likewise.
42758         * modules/regex (Makefile.am): Likewise.
42759         * modules/rename-dest-slash (Makefile.am): Likewise.
42760         * modules/rename (Makefile.am): Likewise.
42761         * modules/rijndael (Makefile.am): Likewise.
42762         * modules/rmdir (Makefile.am): Likewise.
42763         * modules/rpmatch (Makefile.am): Likewise.
42764         * modules/safe-read (Makefile.am): Likewise.
42765         * modules/safe-write (Makefile.am): Likewise.
42766         * modules/same-inode (Makefile.am): Likewise.
42767         * modules/same (Makefile.am): Likewise.
42768         * modules/save-cwd (Makefile.am): Likewise.
42769         * modules/savedir (Makefile.am): Likewise.
42770         * modules/setenv (Makefile.am): Likewise.
42771         * modules/settime (Makefile.am): Likewise.
42772         * modules/sha1 (Makefile.am): Likewise.
42773         * modules/sig2str (Makefile.am): Likewise.
42774         * modules/snprintf (Makefile.am): Likewise.
42775         * modules/stat-macros (Makefile.am): Likewise.
42776         * modules/stat-time (Makefile.am): Likewise.
42777         * modules/stdbool (Makefile.am): Likewise.
42778         * modules/stdint (Makefile.am): Likewise.
42779         * modules/stdlib-safer (Makefile.am): Likewise.
42780         * modules/stpcpy (Makefile.am): Likewise.
42781         * modules/stpncpy (Makefile.am): Likewise.
42782         * modules/strcase (Makefile.am): Likewise.
42783         * modules/strcasestr (Makefile.am): Likewise.
42784         * modules/strchrnul (Makefile.am): Likewise.
42785         * modules/strcspn (Makefile.am): Likewise.
42786         * modules/strdup (Makefile.am): Likewise.
42787         * modules/strerror (Makefile.am): Likewise.
42788         * modules/strftime (Makefile.am): Likewise.
42789         * modules/strndup (Makefile.am): Likewise.
42790         * modules/strnlen (Makefile.am): Likewise.
42791         * modules/strpbrk (Makefile.am): Likewise.
42792         * modules/strsep (Makefile.am): Likewise.
42793         * modules/strstr (Makefile.am): Likewise.
42794         * modules/strtod (Makefile.am): Likewise.
42795         * modules/strtoimax (Makefile.am): Likewise.
42796         * modules/strtok_r (Makefile.am): Likewise.
42797         * modules/strtol (Makefile.am): Likewise.
42798         * modules/strtoll (Makefile.am): Likewise.
42799         * modules/strtoul (Makefile.am): Likewise.
42800         * modules/strtoull (Makefile.am): Likewise.
42801         * modules/strtoumax (Makefile.am): Likewise.
42802         * modules/strverscmp (Makefile.am): Likewise.
42803         * modules/sys_socket (Makefile.am): Likewise.
42804         * modules/sys_stat (Makefile.am): Likewise.
42805         * modules/sysexits (Makefile.am): Likewise.
42806         * modules/time_r (Makefile.am): Likewise.
42807         * modules/timegm (Makefile.am): Likewise.
42808         * modules/timespec (Makefile.am): Likewise.
42809         * modules/tmpfile-safer (Makefile.am): Likewise.
42810         * modules/trim (Makefile.am): Likewise.
42811         * modules/unistd-safer (Makefile.am): Likewise.
42812         * modules/unlinkdir (Makefile.am): Likewise.
42813         * modules/unlocked-io (Makefile.am): Likewise.
42814         * modules/userspec (Makefile.am): Likewise.
42815         * modules/utime (Makefile.am): Likewise.
42816         * modules/utimecmp (Makefile.am): Likewise.
42817         * modules/utimens (Makefile.am): Likewise.
42818         * modules/vasnprintf (Makefile.am): Likewise.
42819         * modules/vasprintf (Makefile.am): Likewise.
42820         * modules/vsnprintf (Makefile.am): Likewise.
42821         * modules/xalloc (Makefile.am): Likewise.
42822         * modules/xgetcwd (Makefile.am): Likewise.
42823         * modules/xnanosleep (Makefile.am): Likewise.
42824         * modules/xreadlink (Makefile.am): Likewise.
42825         * modules/xstrtod (Makefile.am): Likewise.
42826         * modules/xstrtol (Makefile.am): Likewise.
42827         * modules/xstrtold (Makefile.am): Likewise.
42828         * modules/yesno (Makefile.am): Likewise.
42829         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
42830
42831 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
42832
42833         * modules/error (Makefile.am): Distribute files through
42834         EXTRA_DIST, not lib_SOURCES.
42835
42836 2006-10-12  Eric Blake  <ebb9@byu.net>
42837
42838         * modules/error (Makefile.am): Distribute files in /lib.
42839         * modules/obstack (Makefile.am): Likewise.
42840
42841 2006-10-12  Bruno Haible  <bruno@clisp.org>
42842
42843         * modules/acl (Makefile.am): Distribute all files in lib/ through
42844         EXTRA_DIST.
42845         * modules/arcfour (Makefile.am): Likewise.
42846         * modules/arctwo (Makefile.am): Likewise.
42847         * modules/argmatch (Makefile.am): Likewise.
42848         * modules/argz (Makefile.am): Likewise.
42849         * modules/atexit (Makefile.am): Likewise.
42850         * modules/backupfile (Makefile.am): Likewise.
42851         * modules/c-strtod (Makefile.am): Likewise.
42852         * modules/c-strtold (Makefile.am): Likewise.
42853         * modules/calloc (Makefile.am): Likewise.
42854         * modules/canon-host (Makefile.am): Likewise.
42855         * modules/canonicalize (Makefile.am): Likewise.
42856         * modules/chdir-long (Makefile.am): Likewise.
42857         * modules/chdir-safer (Makefile.am): Likewise.
42858         * modules/check-version (Makefile.am): Likewise.
42859         * modules/chown (Makefile.am): Likewise.
42860         * modules/cloexec (Makefile.am): Likewise.
42861         * modules/close-stream (Makefile.am): Likewise.
42862         * modules/closeout (Makefile.am): Likewise.
42863         * modules/crc (Makefile.am): Likewise.
42864         * modules/cycle-check (Makefile.am): Likewise.
42865         * modules/des (Makefile.am): Likewise.
42866         * modules/dirfd (Makefile.am): Likewise.
42867         * modules/dirname (Makefile.am): Likewise.
42868         * modules/dup2 (Makefile.am): Likewise.
42869         * modules/euidaccess (Makefile.am): Likewise.
42870         * modules/exclude (Makefile.am): Likewise.
42871         * modules/exitfail (Makefile.am): Likewise.
42872         * modules/fcntl-safer (Makefile.am): Likewise.
42873         * modules/file-type (Makefile.am): Likewise.
42874         * modules/fileblocks (Makefile.am): Likewise.
42875         * modules/filemode (Makefile.am): Likewise.
42876         * modules/filenamecat (Makefile.am): Likewise.
42877         * modules/fnmatch (Makefile.am): Likewise.
42878         * modules/fopen-safer (Makefile.am): Likewise.
42879         * modules/fpending (Makefile.am): Likewise.
42880         * modules/fprintftime (Makefile.am): Likewise.
42881         * modules/free (Makefile.am): Likewise.
42882         * modules/fsusage (Makefile.am): Likewise.
42883         * modules/ftruncate (Makefile.am): Likewise.
42884         * modules/fts (Makefile.am): Likewise.
42885         * modules/gc (Makefile.am): Likewise.
42886         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42887         * modules/getaddrinfo (Makefile.am): Likewise.
42888         * modules/getcwd (Makefile.am): Likewise.
42889         * modules/getdelim (Makefile.am): Likewise.
42890         * modules/getdomainname (Makefile.am): Likewise.
42891         * modules/getgroups (Makefile.am): Likewise.
42892         * modules/gethostname (Makefile.am): Likewise.
42893         * modules/gethrxtime (Makefile.am): Likewise.
42894         * modules/getline (Makefile.am): Likewise.
42895         * modules/getloadavg (Makefile.am): Likewise.
42896         * modules/getlogin_r (Makefile.am): Likewise.
42897         * modules/getopt (Makefile.am): Likewise.
42898         * modules/getpass (Makefile.am): Likewise.
42899         * modules/getpass-gnu (Makefile.am): Likewise.
42900         * modules/getsubopt (Makefile.am): Likewise.
42901         * modules/gettime (Makefile.am): Likewise.
42902         * modules/gettimeofday (Makefile.am): Likewise.
42903         * modules/getugroups (Makefile.am): Likewise.
42904         * modules/getusershell (Makefile.am): Likewise.
42905         * modules/glob (Makefile.am): Likewise.
42906         * modules/group-member (Makefile.am): Likewise.
42907         * modules/hard-locale (Makefile.am): Likewise.
42908         * modules/hash (Makefile.am): Likewise.
42909         * modules/hmac-md5 (Makefile.am): Likewise.
42910         * modules/hmac-sha1 (Makefile.am): Likewise.
42911         * modules/human (Makefile.am): Likewise.
42912         * modules/idcache (Makefile.am): Likewise.
42913         * modules/imaxabs (Makefile.am): Likewise.
42914         * modules/imaxdiv (Makefile.am): Likewise.
42915         * modules/inet_ntop (Makefile.am): Likewise.
42916         * modules/inet_pton (Makefile.am): Likewise.
42917         * modules/inttostr (Makefile.am): Likewise.
42918         * modules/isapipe (Makefile.am): Likewise.
42919         * modules/lchown (Makefile.am): Likewise.
42920         * modules/long-options (Makefile.am): Likewise.
42921         * modules/lstat (Makefile.am): Likewise.
42922         * modules/malloc (Makefile.am): Likewise.
42923         * modules/mathl (Makefile.am): Likewise.
42924         * modules/mbchar (Makefile.am): Likewise.
42925         * modules/md2 (Makefile.am): Likewise.
42926         * modules/md4 (Makefile.am): Likewise.
42927         * modules/md5 (Makefile.am): Likewise.
42928         * modules/memcasecmp (Makefile.am): Likewise.
42929         * modules/memchr (Makefile.am): Likewise.
42930         * modules/memcmp (Makefile.am): Likewise.
42931         * modules/memcoll (Makefile.am): Likewise.
42932         * modules/memcpy (Makefile.am): Likewise.
42933         * modules/memmem (Makefile.am): Likewise.
42934         * modules/memmove (Makefile.am): Likewise.
42935         * modules/mempcpy (Makefile.am): Likewise.
42936         * modules/memrchr (Makefile.am): Likewise.
42937         * modules/memset (Makefile.am): Likewise.
42938         * modules/memxor (Makefile.am): Likewise.
42939         * modules/mkancesdirs (Makefile.am): Likewise.
42940         * modules/mkdir (Makefile.am): Likewise.
42941         * modules/mkdir-p (Makefile.am): Likewise.
42942         * modules/mkdtemp (Makefile.am): Likewise.
42943         * modules/mkstemp (Makefile.am): Likewise.
42944         * modules/mktime (Makefile.am): Likewise.
42945         * modules/modechange (Makefile.am): Likewise.
42946         * modules/mountlist (Makefile.am): Likewise.
42947         * modules/nanosleep (Makefile.am): Likewise.
42948         * modules/openat (Makefile.am): Likewise.
42949         * modules/pagealign_alloc (Makefile.am): Likewise.
42950         * modules/physmem (Makefile.am): Likewise.
42951         * modules/poll (Makefile.am): Likewise.
42952         * modules/posixtm (Makefile.am): Likewise.
42953         * modules/posixver (Makefile.am): Likewise.
42954         * modules/putenv (Makefile.am): Likewise.
42955         * modules/quote (Makefile.am): Likewise.
42956         * modules/quotearg (Makefile.am): Likewise.
42957         * modules/raise (Makefile.am): Likewise.
42958         * modules/read-file (Makefile.am): Likewise.
42959         * modules/readline (Makefile.am): Likewise.
42960         * modules/readlink (Makefile.am): Likewise.
42961         * modules/readtokens (Makefile.am): Likewise.
42962         * modules/readutmp (Makefile.am): Likewise.
42963         * modules/realloc (Makefile.am): Likewise.
42964         * modules/regex (Makefile.am): Likewise.
42965         * modules/rename (Makefile.am): Likewise.
42966         * modules/rename-dest-slash (Makefile.am): Likewise.
42967         * modules/rijndael (Makefile.am): Likewise.
42968         * modules/rmdir (Makefile.am): Likewise.
42969         * modules/rpmatch (Makefile.am): Likewise.
42970         * modules/safe-read (Makefile.am): Likewise.
42971         * modules/safe-write (Makefile.am): Likewise.
42972         * modules/same (Makefile.am): Likewise.
42973         * modules/save-cwd (Makefile.am): Likewise.
42974         * modules/savedir (Makefile.am): Likewise.
42975         * modules/setenv (Makefile.am): Likewise.
42976         * modules/settime (Makefile.am): Likewise.
42977         * modules/sha1 (Makefile.am): Likewise.
42978         * modules/sig2str (Makefile.am): Likewise.
42979         * modules/snprintf (Makefile.am): Likewise.
42980         * modules/stdlib-safer (Makefile.am): Likewise.
42981         * modules/stpcpy (Makefile.am): Likewise.
42982         * modules/stpncpy (Makefile.am): Likewise.
42983         * modules/strcase (Makefile.am): Likewise.
42984         * modules/strcasestr (Makefile.am): Likewise.
42985         * modules/strchrnul (Makefile.am): Likewise.
42986         * modules/strcspn (Makefile.am): Likewise.
42987         * modules/strdup (Makefile.am): Likewise.
42988         * modules/strerror (Makefile.am): Likewise.
42989         * modules/strftime (Makefile.am): Likewise.
42990         * modules/strndup (Makefile.am): Likewise.
42991         * modules/strnlen (Makefile.am): Likewise.
42992         * modules/strpbrk (Makefile.am): Likewise.
42993         * modules/strsep (Makefile.am): Likewise.
42994         * modules/strstr (Makefile.am): Likewise.
42995         * modules/strtod (Makefile.am): Likewise.
42996         * modules/strtoimax (Makefile.am): Likewise.
42997         * modules/strtok_r (Makefile.am): Likewise.
42998         * modules/strtol (Makefile.am): Likewise.
42999         * modules/strtoll (Makefile.am): Likewise.
43000         * modules/strtoul (Makefile.am): Likewise.
43001         * modules/strtoull (Makefile.am): Likewise.
43002         * modules/strtoumax (Makefile.am): Likewise.
43003         * modules/strverscmp (Makefile.am): Likewise.
43004         * modules/time_r (Makefile.am): Likewise.
43005         * modules/timegm (Makefile.am): Likewise.
43006         * modules/tmpfile-safer (Makefile.am): Likewise.
43007         * modules/unistd-safer (Makefile.am): Likewise.
43008         * modules/unlinkdir (Makefile.am): Likewise.
43009         * modules/userspec (Makefile.am): Likewise.
43010         * modules/utime (Makefile.am): Likewise.
43011         * modules/utimecmp (Makefile.am): Likewise.
43012         * modules/utimens (Makefile.am): Likewise.
43013         * modules/vasnprintf (Makefile.am): Likewise.
43014         * modules/vasprintf (Makefile.am): Likewise.
43015         * modules/vsnprintf (Makefile.am): Likewise.
43016         * modules/xalloc (Makefile.am): Likewise.
43017         * modules/xgetcwd (Makefile.am): Likewise.
43018         * modules/xnanosleep (Makefile.am): Likewise.
43019         * modules/xreadlink (Makefile.am): Likewise.
43020         * modules/xstrtod (Makefile.am): Likewise.
43021         * modules/xstrtol (Makefile.am): Likewise.
43022         * modules/xstrtold (Makefile.am): Likewise.
43023         * modules/yesno (Makefile.am): Likewise.
43024
43025 2006-10-12  Jim Meyering  <jim@meyering.net>
43026
43027         * m4/getloadavg.m4: Revert the change below.
43028
43029         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43030         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43031         fail with a symlink, which is what coreutils' ./bootstrap now
43032         creates by default.
43033
43034 2006-10-12  Bruno Haible  <bruno@clisp.org>
43035
43036         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43037         mingw.
43038         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43039         MSVC and mingw explicitly.
43040
43041 2006-10-11  Simon Josefsson  <jas@extundo.com>
43042             Bruno Haible  <bruno@clisp.org>
43043
43044         Add support for multiple gnulib-tool invocations in the scope of a
43045         single configure.ac file.
43046         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43047         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43048         with the same contents as the _LIBADD variable.
43049         (func_emit_initmacro_start, func_emit_initmacro_end,
43050         func_emit_initmacro_done): New functions.
43051         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43052         gl_LIBOBJS and gl_LTLIBOBJS.
43053
43054 2006-10-11  Bruno Haible  <bruno@clisp.org>
43055
43056         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43057         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43058         autoreconf. Instead, invoke autopoint explicitly but move back the
43059         *.m4 files from gnulib.
43060
43061 2006-10-11  Bruno Haible  <bruno@clisp.org>
43062
43063         * gnulib-tool (func_usage): Make module names after --create-testdir
43064         optional.
43065         (func_create_testdir): If no module was specified, use nearly all
43066         modules.
43067
43068 2006-10-12  Jim Meyering  <jim@meyering.net>
43069
43070         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43071         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43072         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43073         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43074         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43075         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43076         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43077         (fts_set_stat_required): New function.
43078         (fts_open): Defer the calls to fts_stat, if possible or requested.
43079         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43080         into fts_stat itself.
43081         (fts_read): Perform any required (deferred) fts_stat call.
43082         (fts_build): Likewise, for the directory we're about to open and read.
43083         In the readdir loop, carefully decide whether each entry will require
43084         an eventual call to fts_stat, using dirent.d_type info if available.
43085         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43086         a command line argument into this function.  Update all callers.
43087         Map a return value of FTS_DOT to FTS_D for a command line argument.
43088         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43089         Thanks to Miklos Szeredi for his tenacity and for the initial
43090         bug report about "find" failing on a FUSE-based file system.
43091
43092         * lib/fts.c (fts_open): Use consistent indentation.
43093
43094 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43095
43096         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43097         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43098         reported by Jim Meyering.  All uses of cache variables renamed
43099         to match Autoconf's.
43100         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43101         the other one.
43102
43103         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43104         Fix misspelling in diagnostic.
43105
43106 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43107
43108         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43109         defined.  Problem reported by Matthew Woehlke.
43110
43111         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43112         Add support for Tandem NonStop R series.
43113         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43114         Use new macro.
43115
43116         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43117         (has_trailing_slash): Omit size arg; all callers changed.
43118         Omit 'inline', since it doesn't help performance and we'd
43119         need to configure it.
43120         Don't count //, ///, etc. as having a trailing slash.
43121         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43122         (rpl_rename_dest_slash): On failure, use rename's errno rather
43123         than (in some cases) an incorrect or junk errno.
43124         Simplify code by removing need to compute length; this does
43125         cause it to make two passes instead of one over the file name,
43126         but it's worth it.
43127
43128         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43129         change, since Autoconf's version may no longer be appropriate now
43130         that we are using CVS Autoconf's version.  Add support for Tandem.
43131
43132 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43133             Bruno Haible  <bruno@clisp.org>
43134
43135         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43136         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43137         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43138         gl_AC_TYPE_LONG_LONG.
43139
43140         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43141         instead of HAVE_LONG_LONG.
43142         * lib/printf-args.c (printf_fetchargs): Likewise.
43143         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43144         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43145         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43146         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43147         gl_AC_TYPE_LONG_LONG.
43148
43149 2006-10-11  Bruno Haible  <bruno@clisp.org>
43150
43151         * m4/longlong.m4: Add comments.
43152         * m4/ulonglong.m4: Likewise.
43153
43154 2006-10-10  Bruno Haible  <bruno@clisp.org>
43155
43156         Make it possible to #define stpcpy, strdup to aliases.
43157         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
43158         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
43159
43160 2006-10-10  Bruno Haible  <bruno@clisp.org>
43161
43162         Make it possible to #define gcd to an alias.
43163         * lib/gcd.c: Include config.h.
43164
43165 2006-10-10  Bruno Haible  <bruno@clisp.org>
43166
43167         Make it possible to #define c_isascii to an alias.
43168         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
43169         defined. Undefine the macros before defining them, to avoid gcc
43170         warnings.
43171         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
43172         define NO_C_CTYPE_MACROS early.
43173
43174 2006-10-10  Bruno Haible  <bruno@clisp.org>
43175
43176         Make it possible to #define set_program_name to an alias.
43177         * lib/progname.c: Don't undefine set_program_name; instead, undefine
43178         ENABLE_RELOCATABLE early.
43179
43180 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43181
43182         Port to Tandem NSK OSS, which has 64-bit signed int but at most
43183         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
43184         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
43185         More generally, don't assume that 64-bit signed int is available
43186         if unsigned int is, and vice versa.
43187         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43188         unsigned symbols, not on their signed counterparts.
43189         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43190         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43191         (UINT64_C, UINTMAX_C):
43192         Likewise.
43193         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43194         unsigned counterparts.
43195         (Have_long_long, Unsigned): New macros.
43196         (Int): Renamed from INT.
43197         (strtoimax): Use the new macros.
43198         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43199         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43200         * modules/inttypes (inttypes.h): Substitute
43201         HAVE_UNSIGNED_LONG_LONG_INT.
43202         * modules/stdint (stdint.h): Likewise.
43203         (Files): Add m4/ulonglong.m4.
43204
43205 2006-10-10  Bruno Haible  <bruno@clisp.org>
43206
43207         Fix a gcc -Wshadow warning.
43208         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43209         to 'bucket'.
43210         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43211         gl_linked_indexof_from_to): Likewise.
43212         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43213         Likewise.
43214         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43215         Likewise.
43216         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43217         Reported by Eric Blake.
43218
43219 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43220
43221         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43222         for NetBSD.  Problem reported by Bruno Haible.
43223
43224 2006-10-09  Jim Meyering  <jim@meyering.net>
43225
43226         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43227         Patch from Bruno Haible.
43228
43229 2006-10-09  Jim Meyering  <jim@meyering.net>
43230
43231         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43232         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43233         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43234
43235 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43236
43237         Don't include <config.h> twice; this doesn't work in some cases,
43238         e.g., when config.h has "#define intmax_t long long int" and
43239         we include <config.h>, <inttypes.h>, <config.h> in that order.
43240         Problem reported by Matthew Woehlke in:
43241         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43242         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43243         * lib/fts-cycle.c: Don't include config.h.
43244         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43245         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43246         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43247         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43248         inttypes.h.
43249         * lib/xstrtoumax.c: Likewise.
43250         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43251         __strtol and the like, so that this module is more like its siblings.
43252         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43253         Remove; no longer needed now that we assume gnulib inttypes.h.
43254
43255 2006-10-08  Bruno Haible  <bruno@clisp.org>
43256
43257         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43258         option.
43259
43260 2006-10-07  Jim Meyering  <jim@meyering.net>
43261
43262         * modules/inttypes (inttypes.h): Revert what seems to have been
43263         an inadvertent part of today's change: use "|", not "/" in the
43264         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43265
43266 2006-10-07  Bruno Haible  <bruno@clisp.org>
43267
43268         * modules/sublist: New file.
43269
43270 2006-10-07  Bruno Haible  <bruno@clisp.org>
43271
43272         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43273         * modules/argz (argz.h): Likewise.
43274         * modules/arpa_inet (arpa/inet.h): Likewise.
43275         * modules/byteswap (byteswap.h): Likewise.
43276         * modules/configmake (configmake.h): Likewise.
43277         * modules/fcntl (fcntl.h): Likewise.
43278         * modules/fnmatch (fnmatch.h): Likewise.
43279         * modules/getopt (getopt.h): Likewise.
43280         * modules/glob (glob.h): Likewise.
43281         * modules/inttypes (inttypes.h): Likewise.
43282         * modules/netinet_in (netinet/in.h): Likewise.
43283         * modules/poll (poll.h): Likewise.
43284         * modules/stdbool (stdbool.h): Likewise.
43285         * modules/stdint (stdint.h): Likewise.
43286         * modules/sys_select (sys/select.h): Likewise.
43287         * modules/sys_socket (sys/socket.h): Likewise.
43288         * modules/sys_stat (sys/stat.h): Likewise.
43289         * modules/sysexits (sysexits.h): Likewise.
43290         * modules/unistd (unistd.h): Likewise.
43291         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43292         Add a "DO NOT EDIT" comment to the generated file.
43293         (func_import): Likewise for gnulib-comp.m4.
43294
43295 2006-10-07  Bruno Haible  <bruno@clisp.org>
43296
43297         * lib/gl_sublist.h: New file.
43298         * lib/gl_sublist.c: New file.
43299
43300 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43301
43302         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43303         name (relative to the original working directory) and the file
43304         name component (relative to the temporary working directory).  All
43305         callers changed.
43306         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43307         * lib/mkdir-p.c (make_dir_parents): Likewise.
43308         * lib/mkdir-p.h (make_dir_parents): Likewise.
43309
43310 2006-10-06  Eric Blake  <ebb9@byu.net>
43311
43312         Define several macros for use by the clean-temp module.
43313         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43314         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43315         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43316
43317         * lib/clean-temp.h (close_stream_temp): New declaration.
43318         * lib/clean-temp.c (includes): Pull in headers according to what
43319         other modules are in use.
43320         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43321
43322 2006-10-06  Bruno Haible  <bruno@clisp.org>
43323
43324         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43325         instead of fopen, fwriteerror.
43326
43327 2006-10-06  Bruno Haible  <bruno@clisp.org>
43328
43329         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43330         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43331         int.
43332         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43333         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43334         Return an error indicator.
43335         Suggested by Eric Blake.
43336
43337 2006-10-06  Bruno Haible  <bruno@clisp.org>
43338
43339         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43340         Reported by Eric Blake.
43341
43342 2006-10-06  Bruno Haible  <bruno@clisp.org>
43343
43344         * modules/closeout (Description): Mention stderr too.
43345
43346 2006-10-06  Bruno Haible  <bruno@clisp.org>
43347         and Paul Eggert  <eggert@cs.ucla.edu>
43348
43349         * lib/closeout.c (close_stdout): Also close stderr.
43350         * lib/closeout.h: Update comment.
43351
43352 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43353
43354         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43355         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43356         * lib/dirchownmod.c: Include lchown.h.
43357         * lib/lchown.c: Don't include files that lchown.h now includes.
43358         Don't declare chown, since lchown.h now does that.
43359         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43360         (lchown): Define to rpl_chown if lchown is declared but
43361         does not exist.  Declare using a prototype if lchown is not
43362         declared.  Add a copyright notice.
43363         * lib/mkstemp.h: Include <unistd.h>.
43364         * lib/openat.c: Include lchown.h.
43365
43366         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43367         we now test for that separately.
43368         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43369         rather than O_NOFOLLOW, when testing whether it's possible to
43370         avoid a race condition reliably.
43371         * lib/savewd.c (savewd_chdir): Likewise.
43372
43373         Remove macros that are no longer needed now that stdint.h is
43374         reliable.
43375         * lib/fsusage.c (UINTMAX_MAX): Remove.
43376         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43377         * lib/utimecmp.c (SIZE_MAX): Remove.
43378
43379         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43380
43381         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43382         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43383         O_NOATIME works.
43384
43385 2006-10-05  Bruno Haible  <bruno@clisp.org>
43386
43387         * lib/gl_list.h (gl_sortedlist_search_from_to,
43388         gl_sortedlist_indexof_from_to): New declarations.
43389         (gl_list_implementation): New fields sortedlist_search_from_to,
43390         sortedlist_indexof_from_to.
43391         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43392         inline functions.
43393         * lib/gl_list.c (gl_sortedlist_search_from_to,
43394         gl_sortedlist_indexof_from_to): New functions.
43395         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43396         function.
43397         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43398         (gl_array_sortedlist_search_from_to): New function.
43399         (gl_array_list_implementation): Update.
43400         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43401         function.
43402         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43403         (gl_carray_sortedlist_search_from_to): New function.
43404         (gl_carray_list_implementation): Update.
43405         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43406         gl_linked_sortedlist_indexof_from_to): New functions.
43407         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43408         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43409         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43410         gl_tree_sortedlist_indexof_from_to): New functions.
43411         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43412         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43413         Update.
43414         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43415         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43416         Update.
43417
43418 2006-10-05  Bruno Haible  <bruno@clisp.org>
43419
43420         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43421         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43422         (struct gl_list_implementation): Add fields search_from_to,
43423         indexof_from_to. Remove fields search, indexof.
43424         (gl_list_search): Use the search_from_to method.
43425         (gl_list_search_from, gl_list_search_from_to): New functions.
43426         (gl_list_indexof): Use the indexof_from_to method.
43427         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43428         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43429         (gl_list_search_from, gl_list_search_from_to): New functions.
43430         (gl_list_indexof): Use the indexof_from_to method.
43431         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43432         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43433         gl_array_indexof. Add start_index, end_index arguments.
43434         (gl_array_search_from_to): Renamed from gl_array_search. Add
43435         start_index, end_index arguments.
43436         (gl_array_remove, gl_array_list_implementation): Update.
43437         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43438         gl_carray_indexof. Add start_index, end_index arguments.
43439         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43440         start_index, end_index arguments.
43441         (gl_carray_remove, gl_carray_list_implementation): Update.
43442         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43443         gl_linked_search. Add start_index, end_index arguments.
43444         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43445         start_index, end_index arguments.
43446         (gl_linked_remove): Update.
43447         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43448         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43449         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43450         field to 'size_t'.
43451         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43452         gl_tree_search. Add start_index, end_index arguments.
43453         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43454         start_index, end_index arguments.
43455         (gl_tree_remove): Update.
43456         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43457         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43458         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43459         function.
43460         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43461         gl_tree_search. Add start_index, end_index arguments.
43462         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43463         start_index, end_index arguments.
43464         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43465         Update.
43466         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43467
43468 2006-10-05  Bruno Haible  <bruno@clisp.org>
43469
43470         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43471
43472         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43473         fwriteerror_temp): New declarations.
43474         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43475         (descriptors): New variable.
43476         (cleanup): First, close the descriptors.
43477         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43478         fclose_temp, fwriteerror_temp): New functions.
43479
43480 2006-10-04  Jim Meyering  <jim@meyering.net>
43481
43482         * lib/fts.c (fts_open): Tiny comment change.
43483
43484 2006-10-04  Bruno Haible  <bruno@clisp.org>
43485
43486         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43487         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43488         gl_LOCK_BODY.
43489         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43490         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43491         gl_LOCK_EARLY_BODY.
43492         (gl_LOCK): Require gl_LOCK_BODY.
43493
43494 2006-10-04  Bruno Haible  <bruno@clisp.org>
43495
43496         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43497         (gl_oset_search_atleast): New declaration.
43498         (struct gl_oset_implementation): Add field 'search_atleast'.
43499         (gl_oset_search_atleast): New inline function.
43500         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43501         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43502         (gl_array_oset_implementation): Update.
43503         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43504         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43505         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43506
43507 2006-10-04  Bruno Haible  <bruno@clisp.org>
43508
43509         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43510
43511 2006-10-03  Bruno Haible  <bruno@clisp.org>
43512
43513         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43514         from gl_avltreehash_list_implementation.
43515
43516 2006-10-03  Bruno Haible  <bruno@clisp.org>
43517
43518         * lib/gl_oset.c (gl_oset_add): Fix return type.
43519
43520 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43521
43522         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43523
43524 2006-10-02  Eric Blake  <ebb9@byu.net>
43525
43526         * modules/strnlen (Depends-on): Add extensions.
43527
43528 2006-10-02  Eric Blake  <ebb9@byu.net>
43529
43530         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43531         definition in 2.60+.
43532
43533 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43534
43535         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43536         checks.
43537
43538 2006-10-02  Bruno Haible  <bruno@clisp.org>
43539
43540         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43541         to the AUTOMAKE_OPTIONS.
43542         Reported by Jim Meyering.
43543
43544 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43545
43546         Work around bug in Solaris 10 /proc file system:
43547         /proc/self/fd/NNN/.. isn't the parent directory of
43548         the directory whose file descriptor is NNN.  This needs to
43549         be worked around at run time, not compile time, since a
43550         program might be built on Solaris 8, where things work, and
43551         run on Solaris 10.
43552         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43553         to use the following interface instead:
43554         (OPENAT_BUFFER_SIZE): New macro.
43555         (openat_proc_name): New function.
43556         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43557         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43558         Likewise.
43559         * lib/openat-proc.c: New file.
43560         * modules/openat (Files): Add lib/openat-proc.c.
43561         (Depends-on): Add same-inode, stdbool.
43562         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43563
43564 2006-09-29  Bruno Haible  <bruno@clisp.org>
43565
43566         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43567         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43568         argument. Set stdout_closed before testing for ferror, not after.
43569         (fwriteerror, fwriteerror_no_ebadf): New functions.
43570
43571 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43572
43573         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43574
43575 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43576
43577         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43578         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43579
43580 2006-09-28  Jim Meyering  <jim@meyering.net>
43581
43582         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43583         Include <unistd.h>.
43584
43585 2006-09-28  Bruno Haible  <bruno@clisp.org>
43586
43587         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43588         * modules/linkedhash-list (Depends-on): Likewise.
43589         * modules/rbtreehash-list (Depends-on): Likewise.
43590
43591 2006-09-28  Bruno Haible  <bruno@clisp.org>
43592
43593         * lib/strndup.h: Simplify the redefinition of strndup.
43594         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43595         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43596
43597 2006-09-28  Bruno Haible  <bruno@clisp.org>
43598
43599         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43600         * lib/gl_linkedhash_list.c: Likewise.
43601         * lib/gl_rbtreehash_list.c: Likewise.
43602
43603 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43604
43605         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43606         getaddrinfo.
43607
43608         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43609         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43610         it causes <stdio_ext.h> to cause a compile-time error.
43611         Problem reported by Nelson H. F. Beebe.
43612         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43613         of HAVE_DECL___PENDING.
43614
43615         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43616         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43617         declaration.
43618
43619 2006-09-27  Jim Meyering  <jim@meyering.net>
43620
43621         This file could end up with a definition for a function
43622         named __strndup, rather than rpl_strndup on a system with
43623         incomplete weak_alias support.
43624         * lib/strndup.c (strndup): Rename from __strndup.
43625         Remove #defines that used to map __strndup to strndup.
43626         Don't use K&R prototypes.
43627         Remove LIBC-related code, since this file is not sync'd with glibc.
43628         * lib/strndup.h: Revamp, accordingly.
43629         * m4/strndup.m4: Modernize.
43630
43631 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43632
43633         * modules/savewd (Depends-on): Add 'raise'.
43634         * lib/savewd.c: Include <signal.h>, for 'raise'.
43635
43636 2006-09-26  Jim Meyering  <jim@meyering.net>
43637
43638         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
43639         when we detect Darwin 8.7.0's acl_get_file bug.
43640         Rearrange to perform the new (below) run-test while $LIBS
43641         contains any acl-related library.  Set USE_ACL at the end.
43642         (gl_ACL_GET_FILE): New function.
43643
43644 2006-09-26  Eric Blake  <ebb9@byu.net>
43645
43646         * lib/verror.c: Include <config.h> unconditionally.
43647
43648 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
43649
43650         * modules/clock-time (Maintainer): Add self.
43651         * modules/getlogin_r (Depends-on): Add extensions.
43652
43653 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43654
43655         * modules/clock-time: New module.
43656         * modules/nanosleep (Depends-on): Add clock-time.
43657         * modules/gethrxtime (Depends-on): Likewise.
43658         * modules/gettime (Depends-on): Likewise.
43659         * modules/settime (Depends-on): Likewise.
43660
43661         * modules/fts-lgpl: Depend on openat.
43662         * modules/mkancesdirs: Depend on savewd.
43663         * modules/mkdir-p: Likewise.
43664
43665 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43666
43667         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
43668
43669         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
43670         `gl_have_arbitrary_file_name_length_limit' to
43671         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
43672         actually works between configure runs.
43673
43674 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43675             Bruno Haible  <bruno@clisp.org>
43676
43677         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
43678
43679 2006-09-25  Jim Meyering  <jim@meyering.net>
43680
43681         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
43682         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
43683
43684 2006-09-25  Eric Blake  <ebb9@byu.net>
43685
43686         * gnulib-tool (func_import, func_create_testdir): Fix typos in
43687         exec's in 2006-09-18 patch when shuffling fds.
43688
43689 2006-09-25  Bruno Haible  <bruno@clisp.org>
43690
43691         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
43692         Reported by Jim Meyering.
43693
43694 2006-09-24  Jim Meyering  <jim@meyering.net>
43695
43696         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
43697         compare a pointer against a literal "0".  That caused failures with
43698         at least HP-UX's hpcc.
43699
43700 2006-09-22  Simon Josefsson  <jas@extundo.com>
43701
43702         * modules/gc-sha1:
43703         * modules/gc-md4:
43704         * modules/gc-hmac-sha1:
43705         * modules/gc-hmac-md5:
43706         * modules/gc-des:
43707         * modules/gc-arcfour: Distribute more files.
43708
43709 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43710
43711         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
43712         (gl_linked_iterator_from_to): Initialize struct completely.
43713         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
43714         (gl_tree_iterator_from_to): Likewise
43715         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
43716         * lib/gl_array_list.c [lint] (gl_array_iterator)
43717         (gl_array_iterator_from_to): Likewise.
43718         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
43719         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
43720         (gl_carray_iterator_from_to): Likewise.
43721
43722         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
43723         * lib/md4.c (md4_process_block): Remove unused variable.
43724         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
43725         parentheses for clarity.
43726
43727 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43728
43729         * modules/bison-i18n (Depends-on): Add gettext.
43730
43731 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43732
43733         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
43734         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43735         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
43736         also add missing comma that caused broken test.
43737         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
43738         stdlib.h, for `abort'.
43739         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
43740         variables.
43741         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
43742         include unistd.h if present, for `rmdir'.
43743         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
43744         variables.
43745         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
43746         in the process include standard headers for prototypes.
43747         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
43748         gets declared on GNU/Linux.
43749         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
43750         unistd.h, for `rmdir'.
43751         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
43752
43753         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
43754         always true.
43755         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
43756
43757         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
43758
43759 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43760
43761         * gnulib-tool (func_version): Create output all at once.  This
43762         may help avoid triggering unnecessary SIGPIPEs, and at any
43763         rate it doesn't hurt.
43764
43765 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43766             Bruno Haible  <bruno@clisp.org>
43767
43768         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
43769         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43770         * m4/signed.m4 (bh_C_SIGNED): Likewise.
43771
43772         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
43773         (gl_FUNC_VASPRINTF): Invoke it.
43774
43775 2006-09-22  Bruno Haible  <bruno@clisp.org>
43776
43777         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
43778         getloadavg.c as first argument.
43779
43780 2006-09-22  Bruno Haible  <bruno@clisp.org>
43781
43782         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
43783         at the beginning of the gl_INIT macro.
43784         * modules/getloadavg (configure.ac): Pass $gl_source_base to
43785         gl_GETLOADAVG.
43786
43787 2006-09-22  Bruno Haible  <bruno@clisp.org>
43788
43789         * gnulib-tool (func_create_megatestdir): Don't include the config-h
43790         module.
43791         Suggested by Ralf Wildenhues.
43792
43793 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43794
43795         Import this patch from libc:
43796
43797         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
43798
43799         * lib/regex_internal.c (re_string_reconstruct): Handle
43800         offset < pstr->valid_raw_len && pstr->offsets_needed case.
43801         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
43802         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
43803         re_string_context_at.
43804
43805         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
43806         now requires it.
43807         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
43808         gl_REGEX now does it for us.
43809         (gl_REGEX): Add test taken from
43810         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
43811
43812         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
43813         Check that large offsets work.  Modernize Autoconf usages.
43814         Prefer "yes" to mean a good thing rather than a bad.
43815         Don't put "#define mkstemp" in config.h, as this might interfere
43816         with standard system headers that "#define mkstemp mkstemp64".
43817
43818         * modules/mkstemp (Depends-on): Add extensions, so that
43819         mkstemp is visible on some platforms.
43820         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
43821         (Include): Change to "mkstemp.h" from <stdlib.h>.
43822         (Files): Add mkstemp.h.
43823
43824         * lib/mkstemp.h: New file, since some standard headers
43825         #define mkstemp.
43826         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
43827         Include "mkstemp.h".
43828         Make the _LIBC code resemble glibc original more,
43829         e.g., use K&R style.
43830         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
43831         (mkstemp): Remove, since mkstemp.h does this for us.
43832         * lib/stdlib--.h: Include mkstemp.h.
43833
43834         Import this patch from libc:
43835
43836         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43837
43838         * lib/tempname.c (__gen_tempname): Change attempts_min
43839         into a macro.  Use preprocessor to decide how to initialize
43840         attempts [Coverity CID 67].
43841
43842 2006-09-20  Bruno Haible  <bruno@clisp.org>
43843
43844         * lib/mkdtemp.c: Import from libc.
43845         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43846                 * sysdeps/posix/tempname.c (__gen_tempname): Change
43847                 attempts_min into a macro.  Use preprocessor to decide how to
43848                 initialize attempts [Coverity CID 67].
43849         2001-11-27  Paul Eggert  <eggert@twinsun.com>
43850                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
43851                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
43852
43853 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43854
43855         * gnulib-tool (func_exit): New function, to allow to pass the
43856         exit status portably through the trap.  Use everywhere.
43857         (--help, --version): Signal a write error.
43858         (trap): catch SIGPIPE, for write errors.
43859         Exit at the end of the trap, with the correct exit status.
43860
43861 2006-09-19  Karl Berry  <karl@gnu.org>
43862
43863         * doc/gnulib.texi: note about the license texinfo files.
43864
43865 2006-09-19  Eric Blake  <ebb9@byu.net>
43866
43867         * gnulib-tool: Avoid space-tab.
43868
43869 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43870
43871         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
43872         that prevented coreutils 6.1 from building.  Problem reported
43873         by Petter Reinholdtsen.
43874
43875 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43876
43877         * gnulib-tool (avoidlist): Fix typo that broke options like
43878         --avoid=lock that are used by coreutils bootstrap.
43879
43880 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
43881
43882         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
43883         more systematically.
43884
43885 2006-09-18  Jim Meyering  <jim@meyering.net>
43886
43887         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
43888
43889 2006-09-18  Bruno Haible  <bruno@clisp.org>
43890
43891         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
43892
43893 2006-09-18  Bruno Haible  <bruno@clisp.org>
43894
43895         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
43896         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
43897         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
43898         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
43899         * m4/gettext.m4: Require autoconf >= 2.52.
43900         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
43901         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
43902         of gl_cv_header_inttypes_h.
43903
43904 2006-09-18  Bruno Haible  <bruno@clisp.org>
43905
43906         * lib/javaversion.c: Include configmake.h.
43907
43908 2006-09-18  Bruno Haible  <bruno@clisp.org>
43909
43910         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
43911         avoid that the while loops be executed in a subshell.
43912
43913 2006-09-18  Bruno Haible  <bruno@clisp.org>
43914
43915         * MODULES.html.sh (func_module): Break long lines.
43916         Suggested by Bruce Korb <bkorb@gnu.org>.
43917
43918 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43919
43920         Speed up by a factor of 1.12.
43921         * gnulib-tool (nl): New variable.
43922         (func_import): Rewrite include directive extraction to only read each
43923         directive once.
43924
43925 2006-09-17  Bruno Haible  <bruno@clisp.org>
43926
43927         * modules/javaversion (Makefile.am): Remove DEFS setting.
43928         (Depends-on): Add configmake, for PKGDATADIR definition.
43929
43930 2006-09-17  Bruno Haible  <bruno@clisp.org>
43931
43932         * gnulib-tool (func_create_testdir): Rewrite all files at once.
43933
43934 2006-09-17  Bruno Haible  <bruno@clisp.org>
43935
43936         * gnulib-tool (func_append): New function, stolen from libtool.m4.
43937         (func_modules_transitive_closure, func_modules_add_dummy,
43938         func_modules_to_filelist, func_import, func_create_testdir,
43939         func_create_megatestdir, ...): Use it wherever possible.
43940         Suggested by Ralf Wildenhues.
43941
43942 2006-09-16  Karl Berry  <karl@gnu.org>
43943
43944         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
43945         to avoid sectioning errors.
43946         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
43947         [ifinfo]: blank line after @center-ed titles.
43948         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
43949         Spell FSF address consistently with others.
43950         (These changes approved by rms.)
43951
43952 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43953
43954         Speed up by a factor of 1.61.
43955         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
43956         already checked module names again.
43957
43958 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43959
43960         Speed up by a factor of 1.13.
43961         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
43962         for new_files, and the input to func_add_or_update.
43963
43964 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43965
43966         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
43967         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
43968
43969 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43970
43971         * modules/mkancesdirs (Depends-on): Add fcntl.
43972         * modules/savewd: New file.
43973         * MODULES.html.sh (File system functions): Add savewd.
43974
43975         * modules/configmake (Makefile.am): Add support for the
43976         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
43977
43978 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43979
43980         * m4/savewd.m4: New file.
43981
43982 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43983
43984         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
43985         (dirchownmod): New arg FD.  All callers changed.
43986         Use FD rather than opening the directory ourself, as opening is
43987         now the caller's responsibility.
43988         * lib/dirchownmod.h: Likewise.
43989         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
43990         hosts that require <sys/types.h> before <sys/stat.h>.  Include
43991         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
43992         (test_dir): Remove.
43993         (mkancesdirs): Return length of prefix of FILE that has already
43994         been made, or -2 if there is a child doing the work.  Redo
43995         algorithm so that it is O(N) rather than O(N**2).  Optimize away
43996         ".", and treat ".." specially since it might stray back into
43997         already-created areas.  Use a subprocess if necessary.  New arg
43998         WD; all users changed.  MAKE_DIR function should now return 1
43999         if it creates a directory that is not readable.  Return -2 if
44000         a child process is spun off.
44001         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44002         Adjust signature to match code.
44003         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44004         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44005         all users changed.
44006         * lib/savewd.c, lib/savewd.h: New files.
44007
44008 2006-09-15  Jim Meyering  <jim@meyering.net>
44009
44010         * modules/rename-dest-slash: New module.
44011         * MODULES.html.sh (posix_compat): Add it here.
44012
44013         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44014
44015 2006-09-15  Jim Meyering  <jim@meyering.net>
44016
44017         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44018         file.
44019
44020         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44021
44022 2006-09-15  Jim Meyering  <jim@meyering.net>
44023
44024         * lib/rename-dest-slash.c (has_trailing_slash): Use
44025         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44026         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44027         test before testing whether SRC is a directory.
44028         Suggestions from Bruno Haible.
44029
44030         Avoid a warning about an unused variable.
44031         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44032         into the #ifdef block where it's used.
44033
44034         * lib/rename-dest-slash.c: New file.
44035
44036 2006-09-14  Bruno Haible  <bruno@clisp.org>
44037
44038         * lib/allocsa.c: Include <config.h> unconditionally.
44039         * lib/asnprintf.c: Likewise.
44040         * lib/asprintf.c: Likewise.
44041         * lib/c-strcasecmp.c: Likewise.
44042         * lib/c-strcasestr.c: Likewise.
44043         * lib/c-strncasecmp.c: Likewise.
44044         * lib/c-strstr.c: Likewise.
44045         * lib/classpath.c: Likewise.
44046         * lib/clean-temp.c: Likewise.
44047         * lib/concatpath.c: Likewise.
44048         * lib/copy-file.c: Likewise.
44049         * lib/csharpcomp.c: Likewise.
44050         * lib/csharpexec.c: Likewise.
44051         * lib/execute.c: Likewise.
44052         * lib/fatal-signal.c: Likewise.
44053         * lib/findprog.c: Likewise.
44054         * lib/fwriteerror.c: Likewise.
44055         * lib/gl_array_list.c: Likewise.
44056         * lib/gl_array_oset.c: Likewise.
44057         * lib/gl_avltree_list.c: Likewise.
44058         * lib/gl_avltree_oset.c: Likewise.
44059         * lib/gl_avltreehash_list.c: Likewise.
44060         * lib/gl_carray_list.c: Likewise.
44061         * lib/gl_linked_list.c: Likewise.
44062         * lib/gl_linkedhash_list.c: Likewise.
44063         * lib/gl_list.c: Likewise.
44064         * lib/gl_oset.c: Likewise.
44065         * lib/gl_rbtree_list.c: Likewise.
44066         * lib/gl_rbtree_oset.c: Likewise.
44067         * lib/gl_rbtreehash_list.c: Likewise.
44068         * lib/imaxabs.c: Likewise.
44069         * lib/imaxdiv.c: Likewise.
44070         * lib/javacomp.c: Likewise.
44071         * lib/javaexec.c: Likewise.
44072         * lib/javaversion.c: Likewise.
44073         * lib/linebreak.c: Likewise.
44074         * lib/localcharset.c: Likewise.
44075         * lib/lock.c: Likewise.
44076         * lib/mbchar.c: Likewise.
44077         * lib/mbswidth.c: Likewise.
44078         * lib/mkdtemp.c: Likewise.
44079         * lib/pipe.c: Likewise.
44080         * lib/printf-args.c: Likewise.
44081         * lib/printf-parse.c: Likewise.
44082         * lib/progname.c: Likewise.
44083         * lib/progreloc.c: Likewise.
44084         * lib/readlink.c: Likewise.
44085         * lib/sh-quote.c: Likewise.
44086         * lib/stpcpy.c: Likewise.
44087         * lib/stpncpy.c: Likewise.
44088         * lib/strcasecmp.c: Likewise.
44089         * lib/strcasestr.c: Likewise.
44090         * lib/strcspn.c: Likewise.
44091         * lib/striconv.c: Likewise.
44092         * lib/strncasecmp.c: Likewise.
44093         * lib/strnlen1.c: Likewise.
44094         * lib/strstr.c: Likewise.
44095         * lib/strtok_r.c: Likewise.
44096         * lib/tls.c: Likewise.
44097         * lib/tmpdir.c: Likewise.
44098         * lib/unicodeio.c: Likewise.
44099         * lib/unsetenv.c: Likewise.
44100         * lib/vasnprintf.c: Likewise.
44101         * lib/vasprintf.c: Likewise.
44102         * lib/wait-process.c: Likewise.
44103         * lib/xallocsa.c: Likewise.
44104         * lib/xsetenv.c: Likewise.
44105         * lib/xstriconv.c: Likewise.
44106
44107 2006-09-13  Simon Josefsson  <jas@extundo.com>
44108
44109         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44110         that internally, suggested by Ralf Wildenhues
44111         <Ralf.Wildenhues@gmx.de>.
44112
44113 2006-09-13  Simon Josefsson  <jas@extundo.com>
44114
44115         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44116         @LIBOBJS@.
44117         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44118
44119 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44120
44121         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44122         longer worry about uses that don't define HAVE_CONFIG_H.
44123         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44124         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44125         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44126         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44127         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44128         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44129         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44130         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44131         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44132         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44133         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44134         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44135         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44136         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44137         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44138         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44139         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44140         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44141         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44142         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44143         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44144         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44145         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44146         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44147         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44148         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44149         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44150         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44151         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44152         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44153         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44154         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44155         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44156         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
44157         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
44158         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
44159         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
44160         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
44161         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
44162         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
44163         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
44164         Likewise.
44165
44166 2006-09-13  Eric Blake  <ebb9@byu.net>
44167
44168         * lib/getopt.c: Fix typo in last commit.
44169
44170 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44171
44172         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
44173         dgettext.
44174
44175 2006-09-12  Jim Meyering  <jim@meyering.net>
44176
44177         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
44178         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
44179         Reported by Nelson H. F. Beebe.
44180
44181 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44182
44183         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
44184         program_invocation_name and program_invocation_short_name are
44185         initialized.
44186         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44187         and program_invocation_short_name to argp.h, so they are visible
44188         to user programs.
44189         * lib/argp.h: Likewise
44190
44191 2006-09-10  Bruno Haible  <bruno@clisp.org>
44192
44193         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44194         m4/inttypes_h.m4, m4/uintmax_t.m4.
44195
44196 2006-09-10  Bruno Haible  <bruno@clisp.org>
44197
44198         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44199         gl_AC_TYPE_UINTMAX_T.
44200
44201 2006-09-10  Bruno Haible  <bruno@clisp.org>
44202
44203         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44204
44205 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44206
44207         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44208         convention.  Text proposed by Bruno Haible.
44209         (struct argp_option): Document the use of N_() wrappers.
44210
44211         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44212         '\v', and translate the two parts separately, instead of feeding
44213         the whole string to gettext.  This allows to exclude
44214         '\v' from the strings visible to the translator by writing doc
44215         strings as N_("..") "\v" N_("..").
44216
44217 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44218
44219         * config/srclist.txt: Undo latest change; the bug was fixed.
44220
44221 2006-09-09  Bruno Haible  <bruno@clisp.org>
44222
44223         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44224         assignments if building a library without libtool.
44225         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44226         in func_emit_lib_Makefile_am.
44227         (func_import): When building a static library libfoo.a, arrange to
44228         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44229         (func_create_testdir): Likewise.
44230         * modules/gc (configure.ac, Makefile.am): If building statically,
44231         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44232         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44233         * modules/striconv (configure.ac, Makefile.am): Likewise.
44234         Based on a suggestion by Ralf Wildenhues.
44235
44236 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44237
44238         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44239         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44240         Also:
44241
44242         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44243         Add year_2050_test to catch glibc bug 2821
44244         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44245
44246         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44247         Prefer #ifdef to #if.
44248
44249         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44250         Return from 'main' instead of calling 'exit'.
44251
44252 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44253
44254         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44255         returned the maximum time_t value rather than (time_t) -1.
44256         Problem originally reported by William Bardwell
44257         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44258
44259         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44260         Moved to here ...
44261         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44262         ... from here.
44263
44264 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44265
44266         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44267         2821 is fixed.
44268
44269 2006-09-08  Jim Meyering  <jim@meyering.net>
44270
44271         Don't make generated files read-only.  That would bother too many
44272         people.  However, do retain the ability to work when targets are
44273         read-only: remove the destination and temporary files before writing
44274         them (when generated via sed or echo), or by using the -f option for
44275         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44276         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44277         * modules/byteswap, modules/configmake, modules/fcntl:
44278         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44279         * modules/localcharset, modules/netinet_in, modules/poll:
44280         * modules/stdbool, modules/stdint, modules/sys_select:
44281         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44282
44283 2006-09-08  Jim Meyering  <jim@meyering.net>
44284
44285         Avoid new build failure on FreeBSD 6.0.
44286         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44287         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44288         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44289
44290 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44291
44292         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44293
44294 2006-09-07  Jim Meyering  <jim@meyering.net>
44295
44296         Fix global typo in last change: use chmod u-w, not chmod u-x.
44297         Spotted by Paul Eggert and Bruce Korb.
44298         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44299         * modules/byteswap, modules/configmake, modules/fcntl:
44300         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44301         * modules/localcharset, modules/netinet_in, modules/poll:
44302         * modules/stdbool, modules/stdint, modules/sys_select:
44303         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44304
44305 2006-09-06  Jim Meyering  <jim@meyering.net>
44306
44307         Make generated files be read-only.
44308         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44309         Ensure that each generated file is now read-only.
44310         * modules/argz: Likewise.
44311         * modules/arpa_inet: Likewise.
44312         * modules/byteswap: Likewise.
44313         * modules/configmake: Likewise.
44314         * modules/fcntl: Likewise.
44315         * modules/fnmatch: Likewise.
44316         * modules/getopt: Likewise.
44317         * modules/glob: Likewise.
44318         * modules/inttypes: Likewise.
44319         * modules/netinet_in: Likewise.
44320         * modules/poll: Likewise.
44321         * modules/stdbool: Likewise.
44322         * modules/stdint: Likewise.
44323         * modules/sys_select: Likewise.
44324         * modules/sys_socket: Likewise.
44325         * modules/sys_stat: Likewise.
44326         * modules/sysexits: Likewise.
44327         * modules/localcharset: Same as above, but continue using temporary
44328         file named "t-$@" (why different?) rather than the "$@-t" used
44329         everywhere else.
44330
44331         * modules/sysexits (Makefile.am): Replace literal occurrences
44332         of "sysexit.h" more readable, and more consistent, "$@".
44333
44334 2006-09-06  Bruno Haible  <bruno@clisp.org>
44335
44336         * modules/striconv: New file.
44337         * modules/xstriconv: New file.
44338         * MODULES.html.sh (Internationalization functions): Add striconv,
44339         xstriconv.
44340
44341 2006-09-06  Bruno Haible  <bruno@clisp.org>
44342
44343         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44344         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44345         not using libtool correctly.
44346
44347 2006-09-06  Bruno Haible  <bruno@clisp.org>
44348
44349         * lib/striconv.h: New file.
44350         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44351         iconvstring.c.
44352         * lib/xstriconv.h: New file.
44353         * lib/xstriconv.c: New file.
44354
44355 2006-09-06  Bruno Haible  <bruno@clisp.org>
44356
44357         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44358         lib_..._LDFLAGS.
44359
44360 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44361
44362         * lib/argz_.h: Sync from Libtool.
44363
44364         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44365                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44366
44367         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44368
44369 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44370
44371         * modules/trim: New file.
44372
44373 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44374
44375         * lib/trim.h: New file.
44376         * lib/trim.c: New file.
44377
44378 2006-09-05  Bruno Haible  <bruno@clisp.org>
44379
44380         * MODULES.html.sh (String handling): Add trim.
44381
44382 2006-09-04  Karl Berry  <karl@gnu.org>
44383
44384         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44385         until next release.
44386
44387 2006-09-03  Bruno Haible  <bruno@clisp.org>
44388
44389         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44390         correctly.
44391
44392 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44393
44394         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44395         not gl_GETLOADAVG.  Omit unneeded semicolons.
44396         Problems reported by Ralf Wildenhues in
44397         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44398         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44399         at the end, which is the usual gnulib style.
44400
44401         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44402         of doing all the work ourselves.
44403         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44404         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44405
44406 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44407
44408         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44409         Problem reported by Ralf Wildenhues in
44410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44411
44412         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44413         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44414
44415 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44416
44417         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44418         yesterday's patch by changing test -n to test -z.
44419
44420 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44421
44422         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44423         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44424         the former is now obsolescent.
44425
44426         * modules/chdir-long (Depends-on): Add fcntl.
44427
44428 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44429
44430         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44431         obsolescent, and programs should use gnulib instead.
44432         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44433         but with prefixes changed.
44434
44435 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44436
44437         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44438         or stdbool.h, because they might not exist while configuring.
44439
44440         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44441         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44442         does that for us.
44443         (O_DIRECTORY): Remove.
44444
44445 2006-08-31  Eric Blake  <ebb9@byu.net>
44446
44447         * gnulib-tool: Don't let emacs change spaces to TAB.
44448
44449 2006-08-31  Bruno Haible  <bruno@clisp.org>
44450
44451         * gnulib-tool: When calling func_import more than once, do it in a
44452         subshell.
44453         Reported by Eric Blake <ebb9@byu.net>.
44454
44455 2006-08-31  Bruno Haible  <bruno@clisp.org>
44456
44457         * gnulib-tool (nl): Remove variable.
44458         (sed_transform_lib_file): Use more robust test for config-h module.
44459         (func_import): Fix typo in 2006-08-25 patch.
44460
44461 2006-08-31  Bruno Haible  <bruno@clisp.org>
44462
44463         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44464         specified, augment Makefile.am variables instead of assigning them.
44465
44466 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44467
44468         Work around a bug in both the Linux and SunOS 64-bit kernels:
44469         nanosleep mishandles sleeps for longer than 2**31 seconds.
44470         Problem reported by Frank v Waveren in
44471         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44473         Check for nanosleep bug.
44474         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44475
44476 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44477
44478         Work around a bug in both the Linux and SunOS 64-bit kernels:
44479         nanosleep mishandles sleeps for longer than 2**31 seconds.
44480         Problem reported by Frank v Waveren in
44481         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44482         * lib/nanosleep.c (BILLION): New constant.
44483         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44484         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44485         implementation.
44486
44487 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44488
44489         * modules/nanosleep (Depends-on): Add gettime.
44490
44491 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44492         and Simon Josefsson  <jas@extundo.com>
44493         and Oskar Liljeblad  <oskar@osk.mine.nu>
44494
44495         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44496         * gnulib-tool (func_import): New license type 'unmodifiable license
44497         text'.
44498         * modules/fdl: Use it.  Longer description.
44499         * module/gpl, module/lgpl: New files.
44500
44501 2006-08-30  Jim Meyering  <jim@meyering.net>
44502
44503         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44504         shadowing the parameter.
44505
44506 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44507
44508         Sync from Libtool:
44509
44510         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44511
44512         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44513         sharing with gnulib.  Report by Eric Blake.
44514
44515 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44516
44517         * modules/isapipe: New file.
44518         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44519
44520 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44521
44522         * modules/configmake (Makefile.am): Add a comment, and omit
44523         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44524         by Bruno Haible.
44525
44526 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44527
44528         * m4/isapipe.m4: New file.
44529
44530 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44531
44532         * lib/isapipe.c, lib/isapipe.h: New files.
44533
44534 2006-08-29  Jim Meyering  <jim@meyering.net>
44535
44536         * modules/configmake (Makefile.am): Make configmake.h depend on
44537         Makefile.  Otherwise, a stale configmake.h could hang around.
44538
44539 2006-08-29  Eric Blake  <ebb9@byu.net>
44540
44541         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44542         resolution of upstream bug 3044.
44543
44544 2006-08-29  Bruno Haible  <bruno@clisp.org>
44545
44546         * modules/localcharset (Depends-on): Add configmake.
44547         (Makefile.am): Remove setting of LIBDIR through DEFS.
44548
44549 2006-08-29  Bruno Haible  <bruno@clisp.org>
44550
44551         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44552         defined.
44553
44554 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44555
44556         * modules/fcntl: New file.
44557         * modules/chdir-safer (Depends-on): Add fcntl.
44558         * modules/fts: Likewise.
44559         * modules/mkdir-p: Likewise.
44560
44561         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44562         This undoes the most recent change, since we're now addressing the
44563         problem in a different way.
44564
44565         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44566         into output, since the output might be called Makefile.am even
44567         if $makefile_name is something different.
44568         (func_import): Use $makefile_am rather than
44569         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44570         empty.
44571
44572         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44573
44574 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44575
44576         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44577         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44578         recent change to stdint.m4, since we're now addressing the problem in a
44579         different way.
44580
44581 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44582
44583         * m4/fcntl_h.m4: New file.
44584
44585 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44586
44587         * lib/fcntl_.h: New file.
44588         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44589         the fcntl module.
44590         * lib/dirchownmod.c: Likewise.
44591         * lib/fts.c: Likewise.
44592
44593         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44594         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44595         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44596         just before including <inttypes.h>, to avoid circular inclusion.
44597
44598 2006-08-28  Jim Meyering  <jim@meyering.net>
44599
44600         * doc/visibility.texi: Actually read and correct the grammar of the
44601         sentence affected by yesterday's change.
44602
44603 2006-08-28  Eric Blake  <ebb9@byu.net>
44604
44605         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44606         needs wrapper.
44607
44608 2006-08-28  Eric Blake  <ebb9@byu.net>
44609
44610         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44611
44612 2006-08-28  Eric Blake  <ebb9@byu.net>
44613
44614         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44615
44616 2006-08-28  Bruno Haible  <bruno@clisp.org>
44617
44618         * modules/c-strstr: New file, from GNU gettext.
44619         * MODULES.html.sh (String handling): Add c-strstr.
44620
44621 2006-08-28  Bruno Haible  <bruno@clisp.org>
44622
44623         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44624         macros.
44625         Reported by Eric Blake.
44626
44627 2006-08-28  Bruno Haible  <bruno@clisp.org>
44628
44629         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44630         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44631         * lib/vasprintf.c: Include errno.h, limits.h.
44632         (EOVERFLOW): New fallback definition.
44633         (vasprintf): Test here whether the string length is > INT_MAX.
44634         * lib/vsnprintf.c: Include errno.h, limits.h.
44635         (EOVERFLOW): New fallback definition.
44636         (vsnprintf): Fix bug when generated string was too long for the buffer.
44637         Test here whether the string length is > INT_MAX.
44638
44639 2006-08-28  Bruno Haible  <bruno@clisp.org>
44640
44641         * lib/inttypes_.h (SCNX*): Remove definitions.
44642         Reported by Eric Blake.
44643
44644 2006-08-28  Bruno Haible  <bruno@clisp.org>
44645
44646         * lib/c-strstr.h: New file, from GNU gettext.
44647         * lib/c-strstr.c: New file, from GNU gettext.
44648
44649 2006-08-28  Bruno Haible  <bruno@clisp.org>
44650
44651         * gnulib-tool: Reorder some statements.
44652
44653 2006-08-28  Bruno Haible  <bruno@clisp.org>
44654
44655         * gnulib-tool: New option --makefile-name.
44656         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
44657         $makefile_name.
44658         (func_import): Write $makefile_name to the cache file, and read it from
44659         there unless explicitly specified. Use $makefile_name as file name
44660         instead of Makefile.am. Adjust the recommendations accordingly.
44661
44662 2006-08-28  Bruno Haible  <bruno@clisp.org>
44663
44664         * gnulib-tool (func_verify_module): Check against misapplying patch.
44665
44666 2006-08-28  Bruno Haible  <bruno@clisp.org>
44667
44668         * gnulib-tool (func_relativize, func_relconcat): New functions.
44669         Give an error if --local-dir is given with --update.
44670         Remove trailing slashes from $local_gnulib_dir.
44671         (func_import): Store the relativized $local_gnulib_dir in
44672         gnulib-cache.m4, and read it from there if not specified explicitly.
44673
44674 2006-08-28  Bruno Haible  <bruno@clisp.org>
44675
44676         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
44677         is the current directory. Respect also $local_gnulib_dir.
44678
44679 2006-08-28  Bruno Haible  <bruno@clisp.org>
44680             Simon Josefsson  <jas@extundo.com>
44681
44682         BeOS portability.
44683         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
44684
44685 2006-08-27  Jim Meyering  <jim@meyering.net>
44686
44687         * doc/visibility.texi: Remove duplicate word: "pointer".
44688
44689 2006-08-26  Bruno Haible  <bruno@clisp.org>
44690
44691         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
44692         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
44693         (Makefile.am): Create inttypes.h from inttypes_.h.
44694         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
44695
44696         * modules/imaxabs: New file.
44697
44698         * modules/imaxdiv: New file.
44699
44700 2006-08-26  Bruno Haible  <bruno@clisp.org>
44701
44702         * m4/inttypes.m4: New file.
44703         * m4/_inttypes_h.m4: Remove file.
44704         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
44705         PRI_MACROS_BROKEN.
44706         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
44707
44708         * m4/imaxabs.m4: New file.
44709
44710         * m4/imaxdiv.m4: New file.
44711
44712 2006-08-26  Bruno Haible  <bruno@clisp.org>
44713
44714         * lib/inttypes_.h: New file.
44715         * lib/inttypes.h: Remove file.
44716         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
44717
44718         * lib/imaxabs.c: New file.
44719
44720         * lib/imaxdiv.c: New file.
44721
44722 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44723
44724         New config-h module, so that "make" output needn't be cluttered
44725         by -DHAVE_CONFIG_H.
44726         * MODULES.html.sh (Support for building libraries and executables):
44727         Add config-h.
44728         * modules/config-h: New file.
44729         * gnulib-tool (nl, sed_transform_lib_file): New vars.
44730         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
44731         the config-h module is used.
44732
44733         New configmake module, so that "make" output needn't be cluttered
44734         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
44735         * MODULES.html.sh (Support for building libraries and executables):
44736         Add configmake.
44737         * modules/configmake: New file.
44738
44739 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44740
44741         * m4/config-h.m4: New file.
44742
44743 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44744
44745         * config/srclist.txt: Add elisp-comp.
44746
44747 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44748
44749         * MODULES.html.sh (Support for building libraries and executables):
44750         Add elisp-comp.
44751         * build-aux/elisp-comp: New file.
44752         * modules/elisp-comp: New file.
44753
44754 2006-08-24  Bruno Haible  <bruno@clisp.org>
44755
44756         * gnulib-tool (func_create_testdir): Use non-default values of
44757         sourcebase and m4base.
44758
44759 2006-08-24  Bruno Haible  <bruno@clisp.org>
44760
44761         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
44762         HTML structure.
44763
44764 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
44765
44766         * modules/openat (Depends-on): Add lchown.
44767
44768 2006-08-23  Bruno Haible  <bruno@clisp.org>
44769
44770         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
44771         of gl_LOCK_EARLY instead of gl_LOCK.
44772
44773 2006-08-23  Bruno Haible  <bruno@clisp.org>
44774
44775         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
44776         on OSF/1 to no.
44777         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
44778
44779 2006-08-23  Bruno Haible  <bruno@clisp.org>
44780
44781         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
44782         as unusable.
44783
44784         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
44785         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
44786         (gl_LOCK): New macro.
44787
44788 2006-08-22  Simon Josefsson  <jas@extundo.com>
44789
44790         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
44791         to md5 module.
44792
44793 2006-08-22  Simon Josefsson  <jas@extundo.com>
44794
44795         * MODULES.html.sh: Add "Support for maintaining and release
44796         projects".
44797
44798         * build-aux/gnupload: New file, from coreutils.
44799
44800 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44801
44802         Avoid the need for AC_LIBSOURCES in m4 macros.
44803         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
44804         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
44805         * modules/check-version (EXTRA_DIST): Add check-version.h.
44806         * modules/crc (EXTRA_DIST): Add crc.h.
44807         * modules/des (EXTRA_DIST): Add des.h.
44808         * modules/gc (EXTRA_DIST): Add gc.h.
44809         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
44810         * modules/getline (EXTRA_DIST): Add getline.h.
44811         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
44812         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
44813         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
44814         * modules/md2 (EXTRA_DIST): Add md2.h.
44815         * modules/md4 (EXTRA_DIST): Add md4.h.
44816         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
44817         * modules/read-file (EXTRA_DIST): Add read-file.h.
44818         * modules/readline (EXTRA_DIST): Add readline.h.
44819         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
44820         rijndael-api-fst.h.
44821
44822 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44823
44824         * m4/rijndael.m4 (gl_ARCFOUR):
44825         * m4/arctwo.m4 (gl_ARCTWO):
44826         * m4/check-version.m4 (gl_CHECK_VERSION):
44827         * m4/crc.m4 (gl_CRC):
44828         * m4/des.m4 (gl_DES):
44829         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
44830         * m4/gc.m4 (gl_GC):
44831         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
44832         * m4/getline.m4 (gl_FUNC_GETLINE):
44833         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
44834         * m4/hmac-md5.m4 (gl_HMAC_MD5):
44835         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
44836         * m4/md2.m4 (gl_MD2):
44837         * m4/md4.m4 (gl_MD4):
44838         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
44839         * m4/read-file.m4 (gl_FUNC_READ_FILE):
44840         * m4/readline.m4 (gl_FUNC_READLINE):
44841         * m4/rijndael.m4 (gl_RIJNDAEL):
44842         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
44843         to get the necessary .h files and whatnot.
44844
44845 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44846
44847         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
44848         gnulib rather than the other way around.
44849         * config/srclistvars.sh (COREUTILS): Remove.
44850
44851 2006-08-22  Jim Meyering  <jim@meyering.net>
44852
44853         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
44854
44855         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
44856
44857 2006-08-22  Eric Blake  <ebb9@byu.net>
44858
44859         * modules/regexprops-generic: New file.
44860         * MODULES.html.sh (Support for building documentation): List it.
44861
44862 2006-08-22  Eric Blake  <ebb9@byu.net>
44863
44864         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
44865         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44866         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
44867         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
44868
44869 2006-08-22  Bruno Haible  <bruno@clisp.org>
44870
44871         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
44872         and lib_LTLIBRARIES like the other lib_* variables.
44873
44874 2006-08-22  Bruno Haible  <bruno@clisp.org>
44875
44876         * build-aux/x-to-1.in: New file, from GNU gettext.
44877
44878 2006-08-22  Bruno Haible  <bruno@clisp.org>
44879
44880         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
44881         <utmpx.h> exists.
44882
44883 2006-08-22  Bruno Haible  <bruno@clisp.org>
44884
44885         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
44886         <utmpx.h> exists.
44887
44888 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44889
44890         BeOS portability.
44891         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
44892         exist.
44893         Problem reported by Bruno Haible.
44894
44895 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44896
44897         Avoid the need for AC_LIBSOURCES in m4 macros.
44898         * modules/acl (EXTRA_DIST): Add acl.h.
44899         * modules/argmatch (Files): Add m4/argmatch.m4.
44900         (configure.ac): Add gl_ARGMATCH.
44901         (EXTRA_DIST): Renamed from lib_SOURCES, for
44902         consistency with the other modules.  Remove argmatch.c.
44903         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
44904         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
44905         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
44906         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
44907         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
44908         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
44909         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
44910         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
44911         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
44912         * modules/closeout (EXTRA_DIST): Add closeout.h.
44913         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
44914         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
44915         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
44916         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
44917         dirname.h; remove basename.c and stripslash.c.
44918         * modules/exclude (EXTRA_DIST): Add exclude.h.
44919         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
44920         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
44921         * modules/file-type (EXTRA_DIST): Add file-type.h.
44922         * modules/filemode (EXTRA_DIST): Add filemode.h.
44923         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
44924         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
44925         * modules/fpending (EXTRA_DIST): Add __fpending.h.
44926         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
44927         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
44928         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
44929         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
44930         * modules/getdate (EXTRA_DIST): Add getdate.c.
44931         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
44932         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
44933         * modules/getpass (EXTRA_DIST): Add getpass.h.
44934         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
44935         * modules/group-member (EXTRA_DIST): Add group-member.h.
44936         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
44937         * modules/hash (EXTRA_DIST): Add hash.h.
44938         * modules/human (EXTRA_DIST): Add human.h.
44939         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
44940         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
44941         * modules/lchown (EXTRA_DIST): Add lchown.h.
44942         * modules/long-options (EXTRA_DIST): Add long-options.h.
44943         * modules/lstat (EXTRA_DIST): Add lstat.h.
44944         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
44945         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
44946         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
44947         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
44948         * modules/memxor (EXTRA_DIST): Add memxor.h.
44949         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
44950         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
44951         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
44952         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
44953         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
44954         * modules/physmem (EXTRA_DIST): Add physmem.h.
44955         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
44956         * modules/posixver (EXTRA_DIST): Add posixver.h.
44957         * modules/quote (EXTRA_DIST): Add quote.h.
44958         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
44959         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
44960         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
44961         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
44962         regex_internal.h regexec.c.
44963         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
44964         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
44965         * modules/same (EXTRA_DIST): Add same.h.
44966         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
44967         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
44968         * modules/savedir (EXTRA_DIST): Add savedir.h.
44969         * modules/sha1 (EXTRA_DIST): Add sha1.h.
44970         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
44971         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
44972         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
44973         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
44974         * modules/strdup (EXTRA_DIST): Add strdup.h.
44975         * modules/strftime (EXTRA_DIST): Add strftime.h.
44976         * modules/strndup (EXTRA_DIST): Add strndup.h.
44977         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
44978         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
44979         * modules/time_r (EXTRA_DIST): Add time_r.h.
44980         * modules/timespec (EXTRA_DIST): Add timespec.h.
44981         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
44982         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
44983         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
44984         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
44985         * modules/userspec (EXTRA_DIST): Add userspec.h.
44986         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
44987         * modules/utimens (EXTRA_DIST): Add utimens.h.
44988         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
44989         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
44990         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
44991         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
44992         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
44993         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
44994         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
44995         * modules/yesno (EXTRA_DIST): Add yesno.h.
44996
44997 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44998
44999         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45000
45001         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45002         * m4/dev-ino.m4, same-inode.m4: Remove.
45003
45004         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45005         * m4/acl.m4 (AC_FUNC_ACL):
45006         * m4/backupfile.m4 (gl_BACKUPFILE):
45007         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45008         * m4/canon-host.m4 (gl_CANON_HOST):
45009         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45010         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45011         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45012         * m4/cloexec.m4 (gl_CLOEXEC):
45013         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45014         * m4/closeout.m4 (gl_CLOSEOUT):
45015         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45016         * m4/dirname.m4 (gl_DIRNAME):
45017         * m4/exclude.m4 (gl_EXCLUDE):
45018         * m4/exitfail.m4 (gl_EXITFAIL):
45019         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45020         * m4/file-type.m4 (gl_FILE_TYPE):
45021         * m4/filemode.m4 (gl_FILEMODE):
45022         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45023         * m4/fpending.m4 (gl_FUNC_FPENDING):
45024         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45025         * m4/fts.m4 (gl_FUNC_FTS):
45026         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45027         * m4/getdate.m4 (gl_GETDATE):
45028         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45029         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45030         * m4/getpass.m4 (gl_FUNC_GETPASS):
45031         * m4/gettime.m4 (gl_GETTIME):
45032         * m4/getugroups.m4 (gl_GETUGROUPS):
45033         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45034         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45035         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45036         * m4/hash.m4 (gl_HASH):
45037         * m4/idcache.m4 (gl_IDCACHE):
45038         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45039         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45040         * m4/long-options.m4 (gl_LONG_OPTIONS):
45041         * m4/lstat.m4 (gl_FUNC_LSTAT):
45042         * m4/md5.m4 (gl_MD5):
45043         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45044         * m4/memcoll.m4 (gl_MEMCOLL):
45045         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45046         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45047         * m4/memxor.m4 (gl_MEMXOR):
45048         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45049         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45050         * m4/modechange.m4 (gl_MODECHANGE):
45051         * m4/mountlist.m4 (gl_MOUNTLIST):
45052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45053         * m4/openat.m4 (gl_FUNC_OPENAT):
45054         * m4/pathmax.m4 (gl_PATHMAX):
45055         * m4/physmem.m4 (gl_PHYSMEM):
45056         * m4/posixtm.m4 (gl_POSIXTM):
45057         * m4/posixver.m4 (gl_POSIXVER):
45058         * m4/quote.m4 (gl_QUOTE):
45059         * m4/quotearg.m4 (gl_QUOTEARG):
45060         * m4/readtokens.m4 (gl_READTOKENS):
45061         * m4/readutmp.m4 (gl_READUTMP):
45062         * m4/regex.m4 (gl_REGEX):
45063         * m4/safe-read.m4 (gl_SAFE_READ):
45064         * m4/safe-write.m4 (gl_SAFE_WRITE):
45065         * m4/same.m4 (gl_SAME):
45066         * m4/save-cwd.m4 (gl_SAVE_CWD):
45067         * m4/savedir.m4 (gl_SAVEDIR):
45068         * m4/settime.m4 (gl_SETTIME):
45069         * m4/sha1.m4 (gl_SHA1):
45070         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45071         * m4/stat-macros.m4 (gl_STAT_MACROS):
45072         * m4/stat-time.m4 (gl_STAT_TIME):
45073         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45074         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45075         * m4/strdup.m4 (gl_FUNC_STRDUP):
45076         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45077         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45078         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45079         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45080         * m4/time_r.m4 (gl_TIME_R):
45081         * m4/timespec.m4 (gl_TIMESPEC):
45082         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45083         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45084         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45085         * m4/userspec.m4 (gl_USERSPEC):
45086         * m4/utimecmp.m4 (gl_UTIMECMP):
45087         * m4/utimens.m4 (gl_UTIMENS):
45088         * m4/xalloc.m4 (gl_XALLOC):
45089         * m4/xgetcwd.m4 (gl_XGETCWD):
45090         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45091         * m4/xreadlink.m4 (gl_XREADLINK):
45092         * m4/xstrtod.m4 (gl_XSTRTOD):
45093         * m4/yesno.m4 (gl_YESNO):
45094         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45095         to get the necessary .h files and whatnot.
45096
45097 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45098             Bruno Haible  <bruno@clisp.org>
45099
45100         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45101         /bin/sh understanding of '!' conditional negation.
45102
45103 2006-08-21  Jim Meyering  <jim@meyering.net>
45104
45105         * modules/openat (Depends-on): Really alphabetize.
45106
45107         * modules/acl (Depends-on): Add error and quote.
45108
45109         * check-module (find_included_lib_files): Add at-func.c to the
45110         ok-to-include-more-than-once white list.
45111
45112         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45113
45114 2006-08-21  Bruno Haible  <bruno@clisp.org>
45115
45116         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45117         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45118         Reported by Martin Lambers <marlam@marlam.de>.
45119
45120 2006-08-21  Bruno Haible  <bruno@clisp.org>
45121
45122         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45123         specify an installation location, don't emit a noinst_LIBRARIES or
45124         noinst_LTLIBRARIES assignment.
45125
45126 2006-08-21  Bruno Haible  <bruno@clisp.org>
45127
45128         BeOS portability.
45129         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45130         BeOS has mbrtowc() but no <wctype.h>.
45131
45132 2006-08-21  Bruno Haible  <bruno@clisp.org>
45133
45134         BeOS portability.
45135         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45136         exist.
45137
45138 2006-08-21  Bruno Haible  <bruno@clisp.org>
45139
45140         BeOS portability.
45141         * lib/mbchar.h: Include <wctype.h> only if it exists.
45142
45143 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45144
45145         Remove files that are no longer needed by their respective modules.
45146         * m4/obstack.m4: Remove.
45147         * m4/strerror_r.m4: Remove.
45148         * m4/uint32_t.m4: Remove.
45149         * m4/uintptr_t.m4: Remove.
45150         * m4/ullong_max.m4: Remove.
45151         * m4/xstrtoimax.m4: Remove.
45152         * m4/xstrtoumax.m4: Remove.
45153
45154         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45155         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45156         dependencies now capture this.
45157
45158         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
45159         Do not use AC_LIBSOURCES, since gnulib modules now do this.
45160         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
45161         * m4/human.m4 (gl_HUMAN): Likewise.
45162         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
45163         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
45164
45165         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
45166
45167         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
45168         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
45169         stdint.
45170         * m4/human.m4 (gl_HUMAN): Likewise.
45171         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
45172         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
45173         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45174         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45175         * m4/xstrtol (gl_XSTRTOL): Likewise.
45176
45177         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
45178         AC_TYPE_LONG_LONG_INT.
45179         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45180         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
45181         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
45182         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45183
45184         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
45185         on stdbool.
45186
45187         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45188         (gl_PREREQ_XSTRTOUL): Remove.
45189
45190         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45191
45192         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45193         mode.
45194
45195 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45196
45197         Add and change modules to make it easier for coreutils to use
45198         gnulib-tool.
45199         * modules/backupfile (Files): Remove m4/d-ino.m4.
45200         (Depends-on): Add d-ino.
45201         * modules/cycle-check (Depends-on): Add stdint.
45202         (lib_SOURCES): Add cycle-check.h.
45203         * modules/d-ino: New module.
45204         * modules/d-type: New module.
45205         * modules/error (Files): Remove m4/strerror_r.m4.
45206         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45207         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45208         m4/inttypes_h.m4, m4/uintmax_t.m4.
45209         (Depends-on): Add stdint.
45210         (lib_SOURCES): Add fsusage.h.
45211         * modules/getcwd (Files): Remove d-ino.m4.
45212         (Depends-on): Add d-ino.
45213         * modules/getndelim2 (Depends-on): Add stdint.
45214         * modules/glob (Files): Remove m4/d-type.m4.
45215         (Depends-on): Add d-type.
45216         * modules/host-os: New module.
45217         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45218         m4/inttypes_h.m4, m4/uintmax_t.m4.
45219         * Depends-on: Add stdint.
45220         (lib_SOURCES): Add human.h.
45221         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45222         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45223         m4/uintmax_t.m4, m4/ulonglong.m4.
45224         (Depends-on): Add stdint.
45225         (EXTRA_DIST): Add inttostr.h.
45226         * modules/lchmod: New module.
45227         * modules/link-follow: New module.
45228         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45229         (Depends-on): Add lchmod.
45230         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45231         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45232         (Depends-on): Add stdint.
45233         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45234         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45235         (Depends-on): Add stdint.
45236         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45237         * modules/perl: New module.
45238         * modules/regex (Depends-on): Add stdint.
45239         * modules/rmdir-errno: New module.
45240         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45241         m4/intmax_t.m4.
45242         (Depends-on): Add stdint.
45243         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45244         m4/uintmax_t.m4.
45245         (Depends-on): Add stdint.
45246         * modules/unlink-busy: New module.
45247         * modules/utimecmp (Depends-on): Add stdint.
45248         * modules/uptime: New module.
45249         * modules/winsz-ioctl: New module.
45250         * modules/winsz-termios: New module.
45251         * modules/xnanosleep (Depends-on): Add nanosleep.
45252         * modules/ullong_max: Remove.
45253         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45254         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45255         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45256         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45257         (Depends-on): Add inttypes.
45258         (lib_SOURCES): Add xstrtol.h.
45259         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45260         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45261         * MODULES.html.sh: Move 'assert' into the assert section.
45262         Move 'dummy' into the linking section.
45263         Remove ullong_max.
45264         Add section for compatibility checks for POSIX:2001 functions,
45265         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45266         winsz-ioctl, and winsz-termios into it.
45267         Add lchmod.
45268         Add top-level Misc section and put host-os, perl, and uptime
45269         into it.
45270
45271 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45272
45273         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45274         now assume the stdint module.  Do not include inttypes.h.
45275         * lib/fsusage.h: Likewise.
45276         * lib/getndelim2.c: Likewise.
45277         * lib/human.h: Likewise.
45278         * lib/inttostr.h: Likewise.
45279         * lib/obstack.c: Likewise.
45280         * lib/regex_internal.h: Likewise.
45281         * lib/tempname.c: Likewise.
45282         * lib/utimecmp.c: Likewise.
45283         * lib/xstrtol.h: Likewise.
45284
45285         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45286
45287         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45288         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45289         * lib/xtime.h: Likewise.
45290
45291 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45292
45293         * modules/openat (Files): Add lib/fchmodat.c.
45294         Fixes problem reported by Jay Youngman.
45295
45296 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45297
45298         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45299         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45300
45301 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45302             Bruno Haible  <bruno@clisp.org>
45303
45304         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45305         and is a script that invokes bison. Tighten the code. Add comments.
45306
45307 2006-08-18  Jim Meyering  <jim@meyering.net>
45308
45309         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45310         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45311         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45312         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45313
45314 2006-08-18  Bruno Haible  <bruno@clisp.org>
45315
45316         * modules/bison-i18n: New file.
45317         * MODULES.html.sh (Internationalization functions): Add it.
45318
45319 2006-08-18  Bruno Haible  <bruno@clisp.org>
45320
45321         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45322         sys/statvfs.h. When getmntinfo was found, check its declaration and
45323         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45324
45325 2006-08-18  Bruno Haible  <bruno@clisp.org>
45326
45327         * m4/bison-i18n.m4: New file, from bison.
45328
45329 2006-08-18  Bruno Haible  <bruno@clisp.org>
45330
45331         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45332         (ME_DUMMY): Treat "kernfs" as a dummy.
45333         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45334
45335 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45336
45337         Update from coreutils.
45338
45339         2006-08-15  Jim Meyering  <jim@meyering.net>
45340
45341         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45342
45343         2006-01-17  Jim Meyering  <jim@meyering.net>
45344
45345         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45346
45347         2006-01-11  Jim Meyering  <jim@meyering.net>
45348
45349         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45350         Check for the lchmod function.
45351
45352 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45353
45354         Update from coreutils.
45355
45356         * lib/__fpending.h: Add copyright notice.
45357         * lib/fprintftime.h: Likewise.
45358         * lib/savedir.c: Use (C) in copyright notice.
45359         * lib/savedir.h: Likewise.
45360
45361         2006-08-15  Jim Meyering  <jim@meyering.net>
45362
45363         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45364         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45365         in support of the EXPECTED_ERRNO macro.
45366         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45367         definitions.  Instead, define the appropriate symbols and include
45368         "at-func.c".
45369         * lib/mkdirat.c (mkdirat): Likewise.
45370         * lib/fchmodat.c (fchmodat): Likewise.
45371         (ENOSYS): Remove definition.
45372         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45373         it.  Don't include "unistd--.h" -- it wasn't ever used.
45374
45375         2006-01-17  Jim Meyering  <jim@meyering.net>
45376
45377         Rewrite fts.c not to change the current working directory,
45378         by using openat, fstatat, fdopendir, etc..
45379
45380         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45381         (HAVE_OPENAT_SUPPORT): Define.
45382         [_LIBC] (fchdir): Don't undef or define; no longer used.
45383         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45384         Now, this `function' always succeeds, and consumes its file descriptor
45385         parameter -- so callers must not close such FDs.  Update callers.
45386         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45387         (diropen): Add parameter, SP.  Adjust all callers.
45388         Implement using diropen_fd, rather than open.
45389         (fts_open): Initialize new member, fts_cwd_fd.
45390         Remove fts_rft-setting code.
45391         (fts_close): Close fts_cwd_fd, if necessary.
45392         (__opendir2): Define in terms of opendir or opendirat,
45393         depending on whether the FST_NOCHDIR flag is set.
45394         (fts_build): Since fts_safe_changedir consumes its FD, and since
45395         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45396         and close the dup'd file descriptor upon failure.
45397         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45398         (fts_safe_changedir): Tweak semantics to reflect that this function
45399         now calls cwd_advance_fd and hence consumes its FD argument.
45400         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45401         [struct FTS] (fts_rft): Remove now-unused member.
45402         [struct FTS] (fts_cycle.state): Improve comment.
45403
45404         * lib/openat.c (openat_needs_fchdir): New function.
45405         * lib/openat.h (openat_needs_fchdir): Declare it.
45406
45407 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45408
45409         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45410         Problem and fix reported by Pádraig Brady in
45411         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45412
45413 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45414
45415         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45416
45417 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45418
45419         * lib/memcoll.c (memcoll): Optimize for the common case where the
45420         arguments are bytewise equal.
45421
45422 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45423
45424         * doc/regexprops-generic.texi: Add a copyright notice.
45425
45426 2006-08-15  Bruno Haible  <bruno@clisp.org>
45427
45428         * modules/tmpdir (License): Change to LGPL.
45429
45430 2006-08-15  Bruno Haible  <bruno@clisp.org>
45431
45432         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45433         module.
45434
45435 2006-08-14  Simon Josefsson  <jas@extundo.com>
45436
45437         * config/srclist.txt: Add gnupload.
45438
45439 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45440
45441         Change copyright notice from LGPL 2 to GPL 2, since that's the
45442         standard form used in the gnulib repository.
45443         * tests/test-lock.c: Likewise.
45444         * tests/test-stdint.c: Likewise.
45445         * tests/test-tls.c: Likewise.
45446
45447         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45448         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45449         Add copyright notice.
45450
45451         * check-module: Add copyright notice.  Output a copyright
45452         notice if "--version" is specified.
45453         * modules/COPYING: New file.
45454         * tests/test-getaddrinfo.c: Add copyright notice.
45455         * tests/test-verify.c: Likewise.
45456
45457 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45458
45459         Change copyright notice from LGPL 2 to GPL 2, since that's the
45460         standard form used in the gnulib repository.
45461         * lib/lock.c: LGPL -> GPL.
45462         * lib/lock.h: Likewise.
45463         * lib/strnlen1.c: Likewise.
45464         * lib/strnlen1.h: Likewise.
45465         * lib/tls.c: Likewise.
45466         * lib/tls.h: Likewise.
45467         * lib/tmpdir.c: Likewise.
45468
45469         * lib/TODO: Remove; this belongs only in coreutils.
45470
45471 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45472
45473         Add copyright notices to long-enough files that lack them, since
45474         otherwise the files aren't clearly free.  Use the same notice that
45475         getdate.texi already uses.
45476         * doc/alloca-opt.texi: Add copyright notice.
45477         * doc/alloca.texi: Likewise.
45478         * doc/ctime.texi: Likewise.
45479         * doc/functions.texi: Likewise.
45480         * doc/gcd.texi: Likewise.
45481         * doc/gnulib-tool.texi: Likewise.
45482         * doc/inet_ntoa.texi: Likewise.
45483         * doc/visibility.texi: Likewise.
45484
45485         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45486         * doc/quote.texi: Add copyright notice.
45487
45488         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45489         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45490         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45491         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45492         is now obsolete, and give a pointer to the Sun list.
45493         Add copyright notice.
45494
45495 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45496
45497         * config/srclistvars.sh: Add copyright notice.
45498
45499 2006-08-14  Eric Blake  <ebb9@byu.net>
45500
45501         Import the following change from libc:
45502
45503         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45504
45505         Upstream bug 2997.
45506         * lib/misc/error.c: Add space between program name and message if file
45507         name is missing.
45508
45509 2006-08-12  Karl Berry  <karl@gnu.org>
45510
45511         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45512         remove, these originate in gnulib now.
45513
45514 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45515
45516         * doc/Makefile (standards.info standards.html standards.dvi):
45517         Also depend on make-stds.texi.
45518
45519 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45520
45521         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45522         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45523
45524         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45525         in wchar_t.  Problem reported by Eric Blake.
45526
45527         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45528         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45529         Also, help the compiler to keep LEN in a register.
45530
45531 2006-08-11  Eric Blake  <ebb9@byu.net>
45532
45533         * users.txt: Sort.  Add tar.
45534
45535 2006-08-11  Bruno Haible  <bruno@clisp.org>
45536
45537         * users.txt: New file.
45538
45539 2006-08-11  Bruno Haible  <bruno@clisp.org>
45540
45541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45542         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45543
45544 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45545
45546         * modules/snprintf (Depends-on): Remove minmax.
45547         (Maintainer): Add self and Bruno.
45548
45549 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45550
45551         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45552         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45553         (EOVERFLOW): Define if the system does not.
45554         Do not include "minmax.h"; it wasn't used.
45555         (snprintf): Don't assume size_t promotes to an unsigned type.
45556         Fix bug when generated string was too long for the buffer: the
45557         buffer's contents are supposed to be the initial prefix of the
45558         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45559         exceeds INT_MAX; do the check ourselves.
45560
45561         Import the following changes from libc:
45562
45563         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45564
45565         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45566         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45567         set wc to the byte which couldn't be converted.
45568         (re_string_reconstruct): Don't clear valid_raw_len before calling
45569         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45570         tip_context using re_string_context_at.
45571
45572         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45573
45574         * lib/posix/regex.h: g++ still cannot handled [restrict].
45575
45576         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45577
45578         * lib/posix/regex.h: Remove special handling for VMS.
45579
45580 2006-08-10  Jim Meyering  <jim@meyering.net>
45581
45582         * modules/same-inode: New module.
45583         * modules/dev-ino: New module.
45584         * modules/cycle-check: Depend on these modules, rather than simply
45585         including their .h files.
45586         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45587         required via m4/cycle-check.m4.
45588         * modules/same: Depend on new same-inode module, rather than
45589         including same-inode.h.
45590         * modules/chdir-safer: New file.
45591
45592         * modules/chown (Depends-on): Add stat-macros.
45593
45594 2006-08-10  Jim Meyering  <jim@meyering.net>
45595
45596         * m4/cycle-check.m4: New file.
45597         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45598         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45599
45600 2006-08-10  Eric Blake  <ebb9@byu.net>
45601
45602         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45603         in from original proposal.
45604
45605 2006-08-10  Eric Blake  <ebb9@byu.net>
45606         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45607
45608         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45609         namespace.
45610
45611 2006-08-10  Bruno Haible  <bruno@clisp.org>
45612
45613         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45614         as well.
45615
45616 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45617
45618         Sync from coreutils.
45619
45620         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45621
45622         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45623         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45624
45625 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45626
45627         * modules/restrict: Remove; no longer needed now that we assume
45628         Autoconf 2.59 or later.
45629         * MODULES.html.sh: Remove 'restrict'.
45630         * modules/argp (Depends-on): Remove 'restrict'.
45631         * modules/base64 (Depends-on): Likewise.
45632         * modules/gc (Depends-on): Likewise.
45633         * modules/getaddrinfo (Depends-on): Likewise.
45634         * modules/glob (Depends-on): Likewise.
45635         * modules/inet_ntop (Depends-on): Likewise.
45636         * modules/inet_pton (Depends-on): Likewise.
45637         * modules/memxor (Depends-on): Likewise.
45638         * modules/regex (Depends-on): Likewise.
45639         * modules/strtok_r (Depends-on): Likewise.
45640         * modules/time_r (Depends-on): Likewise.
45641
45642 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45643
45644         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
45645         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
45646         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45647         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
45648         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45649         * m4/memxor.m4 (gl_MEMXOR): Likewise.
45650         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
45651         gl_C_RESTRICT replaced by AC_C_RESTRICT.
45652
45653         Merge from coreutils.
45654         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
45655         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
45656         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45657         * m4/time_r.m4 (gl_TIME_R): Likewise.
45658
45659 2006-08-09  Karl Berry  <karl@gnu.org>
45660
45661         * config/srclist.txt: no more gettext-tools, per Bruno.
45662
45663 2006-08-08  Eric Blake  <ebb9@byu.net>
45664
45665         * modules/verror: New module.
45666         * MODULES.html.sh: Document it.
45667
45668 2006-08-08  Eric Blake  <ebb9@byu.net>
45669
45670         * lib/verror.h, lib/verror.c: New files.
45671
45672 2006-08-08  Eric Blake  <ebb9@byu.net>
45673
45674         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
45675         verror_at_line output complies with GNU Coding Standards even when
45676         file is NULL.
45677
45678 2006-08-07  Bruno Haible  <bruno@clisp.org>
45679
45680         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
45681         versions of AIX.
45682         Reported by Ralf Wildenhues.
45683
45684 2006-08-07  Bruno Haible  <bruno@clisp.org>
45685
45686         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
45687         in an AC_DEFUN. Needed so that the autoconf snippets can use
45688         AC_REQUIRE.
45689
45690 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45691
45692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45693         Initialize pkgdata_DATA.
45694         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
45695         overriding it.
45696
45697 2006-08-06  Eric Blake  <ebb9@byu.net>
45698
45699         * lib/error.h: Fold in some upstream changes from glibc.
45700         * lib/error.c: Likewise.
45701
45702 2006-08-04  Bruno Haible  <bruno@clisp.org>
45703
45704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45705         Make the mostlyclean-local rule depend on mostlyclean-generic.
45706         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
45707
45708 2006-07-31  Bruno Haible  <bruno@clisp.org>
45709
45710         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
45711         <stdlib.h>, <string.h>.
45712
45713 2006-07-30  Bruno Haible  <bruno@clisp.org>
45714
45715         * modules/readlink (License): Change to LGPL.
45716
45717 2006-07-30  Bruno Haible  <bruno@clisp.org>
45718
45719         * modules/javaversion (Makefile.am): Distribute javaversion.java and
45720         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
45721         set PKGDATADIR to point to it.
45722
45723 2006-07-30  Bruno Haible  <bruno@clisp.org>
45724
45725         * modules/csharpexec (configure.ac): Comment out macro invocation.
45726         * modules/javaexec (configure.ac): Likewise.
45727         * modules/javacomp-script (configure.ac): Likewise.
45728
45729         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
45730
45731 2006-07-30  Bruno Haible  <bruno@clisp.org>
45732
45733         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
45734         linked-list.
45735
45736 2006-07-30  Bruno Haible  <bruno@clisp.org>
45737
45738         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
45739
45740 2006-07-30  Bruno Haible  <bruno@clisp.org>
45741
45742         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45743         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
45744         get removed.
45745
45746 2006-07-29  Bruno Haible  <bruno@clisp.org>
45747
45748         Make it possible for gnulib-tool to work with locally modified or
45749         augmented gnulib repositories.
45750         * gnulib-tool (func_usage): Document --local-dir option.
45751         (local_gnulib_dir): New variable.
45752         Handle --local-dir option.
45753         (func_lookup_file): New function.
45754         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
45755         (func_get_description, func_get_filelist, func_get_description,
45756         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
45757         func_get_automake_snippet, func_get_include_directive,
45758         func_get_license, func_get_maintainer): Use func_lookup_file.
45759         (func_import, func_create_testdir): Use func_lookup_file.
45760
45761 2006-07-29  Bruno Haible  <bruno@clisp.org>
45762
45763         * modules/setenv (Depends-on): Add unistd.
45764
45765 2006-07-29  Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
45768
45769 2006-07-29  Bruno Haible  <bruno@clisp.org>
45770
45771         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
45772
45773 2006-07-29  Bruno Haible  <bruno@clisp.org>
45774
45775         * gnulib-tool (import, update): If there is no Makefile.am, look at
45776         aclocal.m4, instead of bailing out.
45777
45778 2006-07-29  Bruno Haible  <bruno@clisp.org>
45779
45780         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
45781         Categorize the options by when they are useful.
45782
45783 2006-07-29  Bruno Haible  <bruno@clisp.org>
45784
45785         * gnulib-tool (func_usage): Document option --no-libtool.
45786         Handle option --no-libtool.
45787         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
45788         for changed semantics of $libtool variable.
45789         (func_import): Likewise. If libtool is not used, show this through
45790         an option --no-libtool.
45791         (func_create_testdir): Update.
45792
45793 2006-07-29  Bruno Haible  <bruno@clisp.org>
45794
45795         * gnulib-tool (func_import): Extend error message about missing
45796         --doc-base.
45797
45798 2006-07-29  Bruno Haible  <bruno@clisp.org>
45799
45800         * gnulib-tool (func_import): Don't create the $docbase directory if
45801         there is no file to store there.
45802
45803 2006-07-29  Bruno Haible  <bruno@clisp.org>
45804
45805         * gnulib-tool (autoconf_minversion): If a --dir option is given and
45806         relevant, look for configure.ac there, not in the current directory.
45807         Also use a simple search for AC_PREREQ, not "autoconf --trace".
45808
45809 2006-07-29  Bruno Haible  <bruno@clisp.org>
45810
45811         * gnulib-tool (SORT): New variable.
45812         (func_usage): Undocument --assume-autoconf option.
45813         Remove --assume-autoconf option handling.
45814         (autoconf_minversion): Determine from the contents of configure.ac.
45815         (func_import): Remove autoconf_minversion handling.
45816         Suggested by Eric Blake.
45817
45818 2006-07-29  Bruno Haible  <bruno@clisp.org>
45819
45820         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
45821
45822 2006-07-29  Bruno Haible  <bruno@clisp.org>
45823
45824         * config/srclist.txt (*setenv.[ch]): Remove rules.
45825
45826 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45827
45828         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
45829
45830 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45831
45832         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
45833         arpa/inet.h.
45834
45835 2006-07-28  Simon Josefsson  <jas@extundo.com>
45836
45837         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
45838         * modules/inet_pton (Depends-on): Likewise.
45839
45840 2006-07-28  Simon Josefsson  <jas@extundo.com>
45841
45842         * m4/netinet_in_h.m4: New file.
45843
45844 2006-07-28  Simon Josefsson  <jas@extundo.com>
45845
45846         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
45847         #include's.
45848
45849 2006-07-28  Simon Josefsson  <jas@extundo.com>
45850
45851         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
45852         #include's.
45853
45854 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
45855
45856         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
45857         setgid on directories only if they set these bits.
45858         * lib/modechange.h: Remove obsolete comment about masks.
45859
45860 2006-07-28  Eric Blake  <ebb9@byu.net>
45861
45862         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
45863         macro expansion.
45864
45865 2006-07-28  Bruno Haible  <bruno@clisp.org>
45866
45867         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
45868
45869 2006-07-28  Bruno Haible  <bruno@clisp.org>
45870
45871         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
45872
45873 2006-07-28  Bruno Haible  <bruno@clisp.org>
45874
45875         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45876         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45877         Define fallbacks.
45878         Avoids link error on FreeBSD 4.x.
45879         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45880
45881         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
45882         encoding.
45883         * lib/mbswidth.c (iswcntrl): Likewise.
45884
45885 2006-07-27  Bruno Haible  <bruno@clisp.org>
45886
45887         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
45888         test.
45889
45890 2006-07-27  Bruno Haible  <bruno@clisp.org>
45891
45892         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
45893         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
45894         defined.
45895
45896 2006-07-26  Eric Blake  <ebb9@byu.net>
45897
45898         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
45899
45900 2006-07-26  Eric Blake  <ebb9@byu.net>
45901
45902         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
45903         like mingw that lack mkstemp.
45904         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
45905         avoid compilation warning on mingw.
45906
45907 2006-07-26  Bruno Haible  <bruno@clisp.org>
45908
45909         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
45910         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
45911         INT_FAST*_MIN, INTPTR_MIN.
45912
45913 2006-07-25  Bruno Haible  <bruno@clisp.org>
45914
45915         * modules/version-etc (Depends-on): Add stdarg.
45916
45917 2006-07-25  Bruno Haible  <bruno@clisp.org>
45918
45919         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
45920         complex commands.
45921
45922 2006-07-25  Bruno Haible  <bruno@clisp.org>
45923
45924         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
45925         defined in <stdarg.h> or config.h.
45926
45927 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45928
45929         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
45930         (gl_STDIO_SAFER): Remove.
45931
45932 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45933
45934         * MODULES.html.sh (File stream based Input/Output):
45935         Add fopen-safer, tmpfile-safer; remove stdio-safer.
45936         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
45937         * modules/fopen-safer, modules/tmpfile-safer: New files.
45938         * modules/stdio-safer: Remove.
45939
45940 2006-07-24  Bruno Haible  <bruno@clisp.org>
45941
45942         * modules/tmpdir: New file.
45943         * MODULES.html.sh (File system functions): Add it.
45944
45945 2006-07-24  Bruno Haible  <bruno@clisp.org>
45946
45947         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
45948         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
45949
45950 2006-07-24  Bruno Haible  <bruno@clisp.org>
45951
45952         * modules/clean-temp: New file.
45953
45954 2006-07-24  Bruno Haible  <bruno@clisp.org>
45955
45956         * m4/tmpdir.m4: New file, from GNU gettext.
45957
45958 2006-07-24  Bruno Haible  <bruno@clisp.org>
45959
45960         * lib/tmpdir.h: New file, from GNU gettext.
45961         * lib/tmpdir.c: New file, from GNU gettext.
45962
45963 2006-07-24  Bruno Haible  <bruno@clisp.org>
45964
45965         * lib/clean-temp.h: New file, from GNU gettext.
45966         * lib/clean-temp.c: New file, from GNU gettext.
45967
45968 2006-07-23  Eric Blake  <ebb9@byu.net>
45969
45970         * modules/stdio-safer (Files): Add tmpfile-safer.c.
45971         (Depends-on): Add binary-io.
45972
45973 2006-07-23  Eric Blake  <ebb9@byu.net>
45974
45975         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
45976
45977 2006-07-23  Eric Blake  <ebb9@byu.net>
45978
45979         * lib/tmpfile-safer.c: New file.
45980         * lib/stdio-safer.h (fopen_safer): Add prototype.
45981         * lib/stdio--.h (tmpfile): Make safer.
45982
45983 2006-07-23  Bruno Haible  <bruno@clisp.org>
45984
45985         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
45986         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
45987         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
45988         gl_linked_remove_at): Use it.
45989
45990 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45991         and Simon Josefsson <jas@extundo.com>
45992
45993         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
45994
45995         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
45996
45997 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45998
45999         * modules/close-stream: New file.
46000         * modules/closeout (Description): Make it clear that it exits
46001         with a diagnostic on error.
46002         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46003         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46004
46005 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46006
46007         * m4/close-stream.m4: New file.
46008
46009 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46010
46011         * lib/close-stream.c, lib/close-stream.h: New files.
46012
46013 2006-07-22  Bruno Haible  <bruno@clisp.org>
46014
46015         Merge from GNU gettext 0.15.
46016
46017         2006-05-01  Bruno Haible  <bruno@clisp.org>
46018
46019                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46020
46021         2006-07-22  Bruno Haible  <bruno@clisp.org>
46022
46023                 * modules/javaversion: New file.
46024                 * MODULES.html.sh (Java): Add javaversion.
46025
46026         2006-03-12  Bruno Haible  <bruno@clisp.org>
46027
46028                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46029
46030         2005-12-04  Bruno Haible  <bruno@clisp.org>
46031
46032                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46033                 (untested).
46034
46035         2006-06-21  Bruno Haible  <bruno@clisp.org>
46036
46037                 Avoid warnings from recent versions of mcs.
46038                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46039                 -o, -L, -r any more. Use options documented since mcs-1.0
46040                 instead. Similarly for -g.
46041
46042         2005-12-04  Bruno Haible  <bruno@clisp.org>
46043
46044                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46045                 .resources, not .resource.
46046
46047         2005-07-09  Bruno Haible  <bruno@clisp.org>
46048
46049                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46050                 add a .dll suffix.
46051                 Reported by Mark Junker <mjscod@gmx.de>.
46052
46053         2006-07-22  Bruno Haible  <bruno@clisp.org>
46054
46055                 * modules/gettext: Upgrade to gettext-0.15.
46056                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46057                 m4/visibility.m4.
46058                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46059
46060 2006-07-22  Bruno Haible  <bruno@clisp.org>
46061
46062         Merge from GNU gettext 0.15.
46063
46064         2006-03-25  Bruno Haible  <bruno@clisp.org>
46065
46066                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46067
46068         2006-07-21  Bruno Haible  <bruno@clisp.org>
46069
46070                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46071                 "1.1".
46072
46073         2006-05-09  Bruno Haible  <bruno@clisp.org>
46074
46075                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46076                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46077                 for the conftestver execution.
46078
46079         2006-05-01  Bruno Haible  <bruno@clisp.org>
46080
46081                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46082                 optional target-version argument. Verify that the compiler
46083                 groks source of the specified source-version, or add -source
46084                 option as necessary. Verify that the compiler produces
46085                 bytecode in the specified target-version, or add -target and
46086                 -source options as necessary. Make the result of the test
46087                 available as variable CONF_JAVAC. Also log error output in
46088                 config.log.
46089
46090         2006-03-11  Bruno Haible  <bruno@clisp.org>
46091
46092                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46093
46094         2006-05-09  Bruno Haible  <bruno@clisp.org>
46095
46096                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46097                 CLASSPATH_SEPARATOR to a semicolon.
46098
46099         2006-03-12  Bruno Haible  <bruno@clisp.org>
46100
46101                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46102                 available as variable CONF_JAVA, for subsequent autoconf
46103                 tests. Also log error output in config.log.
46104
46105         2006-07-19  Bruno Haible  <bruno@clisp.org>
46106
46107                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46108                 that getline works on glibc2 systems. Needed to avoid trouble
46109                 in relocatable.c.
46110                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46111
46112         2005-12-04  Bruno Haible  <bruno@clisp.org>
46113
46114                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46115                 launcher (untested).
46116
46117         2005-12-04  Bruno Haible  <bruno@clisp.org>
46118
46119                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46120
46121         2006-07-22  Bruno Haible  <bruno@clisp.org>
46122
46123                 * gettext.m4: Update from GNU gettext-0.15.
46124                 * nls.m4: Likewise.
46125                 * po.m4: Likewise.
46126                 * inttypes-pri.m4: Likewise.
46127                 * inttypes-h.m4: Renamed from inttypes.m4.
46128                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46129
46130 2006-07-22  Bruno Haible  <bruno@clisp.org>
46131
46132         Merge from GNU gettext 0.15.
46133
46134         2005-07-05  Bruno Haible  <bruno@clisp.org>
46135
46136                 * printf-args.c (printf_fetchargs): Work around broken
46137                 definition of wint_t on mingw.
46138
46139         2005-02-12  Bruno Haible  <bruno@clisp.org>
46140
46141                 * xallocsa.h: Add extern "C" for C++.
46142
46143         2006-05-17  Bruno Haible  <bruno@clisp.org>
46144
46145                 Cygwin portability.
46146                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46147
46148         2006-04-30  Bruno Haible  <bruno@clisp.org>
46149
46150                 * progreloc.c: Include <mach-o/dyld.h> if available.
46151                 (find_executable): Use _NSGetExecutablePath when possible.
46152
46153         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46154
46155                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46156                 function.
46157
46158         2005-12-29  Bruno Haible  <bruno@clisp.org>
46159
46160                 * progreloc.c (set_program_name_and_installdir): Fix
46161                 compilation error.
46162
46163         2005-12-04  Bruno Haible  <bruno@clisp.org>
46164
46165                 Cygwin portability.
46166                 * progreloc.c: Include <windows.h> also on Cygwin.
46167                 (find_executable): Add support for Cygwin.
46168                 (set_program_name_and_installdir): Handle also platforms with
46169                 nonempty EXEEXT.
46170
46171         2006-07-11  Bruno Haible  <bruno@clisp.org>
46172
46173                 * javacomp.c: Fix a comment.
46174                 Reported by Jim Meyering.
46175
46176         2006-04-30  Bruno Haible  <bruno@clisp.org>
46177
46178                 * javacomp.h (compile_java_class): Add source_version,
46179                 target_version arguments.
46180                 * javacomp.c: Rewritten to choose only a compiler that
46181                 respects the specified source_version and target_version.
46182
46183         2006-06-27  Bruno Haible  <bruno@clisp.org>
46184
46185                 Assume correct S_ISDIR macro.
46186                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46187
46188         2006-07-22  Bruno Haible  <bruno@clisp.org>
46189
46190                 * javaversion.h: New file, from GNU gettext.
46191                 * javaversion.c: New file, from GNU gettext.
46192                 * javaversion.java: New file, from GNU gettext.
46193                 * javaversion.class: New file, from GNU gettext.
46194
46195         2006-05-17  Bruno Haible  <bruno@clisp.org>
46196
46197                 Cygwin portability.
46198                 * javaexec.c (execute_java_class): Test for jview program
46199                 also on Cygwin.
46200
46201         2006-04-09  Bruno Haible  <bruno@clisp.org>
46202
46203                 * fatal-signal.c: Don't include string.h.
46204                 (at_fatal_signal): Use a copying loop instead of memcpy.
46205
46206         2005-12-04  Bruno Haible  <bruno@clisp.org>
46207
46208                 * csharpexec.c: Add support for 'clix' launcher (untested).
46209                 (execute_csharp_using_sscli): New function.
46210                 (execute_csharp_program): Call it.
46211
46212         2006-06-21  Bruno Haible  <bruno@clisp.org>
46213
46214                 Avoid warnings from recent versions of mcs.
46215                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46216                 -o, -L, -r any more. Use options documented since mcs-1.0
46217                 instead. Similarly for -g.
46218
46219         2005-07-09  Bruno Haible  <bruno@clisp.org>
46220
46221                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46222                 add a .dll suffix.
46223                 Reported by Mark Junker <mjscod@gmx.de>.
46224
46225         2006-06-17  Bruno Haible  <bruno@clisp.org>
46226
46227                 * config.charset: Update for NetBSD 3.0.
46228
46229         2006-05-17  Bruno Haible  <bruno@clisp.org>
46230
46231                 Cygwin portability.
46232                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46233
46234         2006-05-16  Bruno Haible  <bruno@clisp.org>
46235
46236                 * localcharset.c [CYGWIN]: Include <windows.h>.
46237                 (get_charset_aliases): For Cygwin, return the same CPxxx
46238                 aliases list as under WIN32.
46239                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46240                 the environment variables. Fall back to GetACP().
46241
46242         2006-04-05  Bruno Haible  <bruno@clisp.org>
46243
46244                 * config.charset: Update Juan Manuel Guerrero's address.
46245
46246         2005-02-12  Bruno Haible  <bruno@clisp.org>
46247
46248                 * allocsa.h: Add extern "C" for C++.
46249
46250         2005-02-10  Bruno Haible  <bruno@clisp.org>
46251
46252                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46253                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46254
46255         2006-07-22  Bruno Haible  <bruno@clisp.org>
46256
46257                 * gettext.h: Update to GNU gettext-0.15.
46258
46259 2006-07-22  Bruno Haible  <bruno@clisp.org>
46260
46261         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46262         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46263         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46264
46265 2006-07-21  Eric Blake  <ebb9@byu.net>
46266
46267         * modules/stdlib-safer: New file.
46268         * MODULES.html.sh (File stream based Input/Output): Add
46269         stdlib-safer.
46270
46271 2006-07-21  Eric Blake  <ebb9@byu.net>
46272
46273         * lib/stdlib-safer.h: New file from coreutils, required by
46274         stdlib--.h.
46275
46276 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46277
46278         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46279
46280 2006-07-20  Bruno Haible  <bruno@clisp.org>
46281
46282         * gnulib-tool: Recognize new option --assume-autoconf.
46283         (autoconf_minversion): New variable.
46284         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46285
46286 2006-07-20  Bruno Haible  <bruno@clisp.org>
46287
46288         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46289
46290 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46291
46292         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46293         Reindent and repaginate.
46294
46295 2006-07-19  Derek Price  <derek@ximbiot.com>
46296
46297         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46298         Correct grammar.
46299
46300 2006-07-17  Bruno Haible  <bruno@clisp.org>
46301
46302         * modules/list: New file.
46303         * modules/array-list: New file.
46304         * modules/carray-list, modules/carray-list-tests: New files.
46305         * modules/linked-list, modules/linked-list-tests: New files.
46306         * modules/avltree-list, modules/avltree-list-tests: New files.
46307         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46308         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46309         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46310         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46311         * modules/oset: New file.
46312         * modules/array-oset: New file.
46313         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46314         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46315         * tests/test-carray_list.c: New file.
46316         * tests/test-linked_list.c: New file.
46317         * tests/test-avltree_list.c: New file.
46318         * tests/test-rbtree_list.c: New file.
46319         * tests/test-linkedhash_list.c: New file.
46320         * tests/test-avltreehash_list.c: New file.
46321         * tests/test-rbtreehash_list.c: New file.
46322         * tests/test-avltree_oset.c: New file.
46323         * tests/test-rbtree_oset.c: New file.
46324         * MODULES.html.sh (Container data structures): New section.
46325
46326 2006-07-17  Bruno Haible  <bruno@clisp.org>
46327
46328         * m4/gl_list.m4: New file.
46329
46330 2006-07-17  Bruno Haible  <bruno@clisp.org>
46331
46332         * lib/gl_list.h: New file.
46333         * lib/gl_list.c: New file.
46334         * lib/gl_array_list.h: New file.
46335         * lib/gl_array_list.c: New file.
46336         * lib/gl_carray_list.h: New file.
46337         * lib/gl_carray_list.c: New file.
46338         * lib/gl_linked_list.h: New file.
46339         * lib/gl_linked_list.c: New file.
46340         * lib/gl_anylinked_list1.h: New file.
46341         * lib/gl_anylinked_list2.h: New file.
46342         * lib/gl_avltree_list.h: New file.
46343         * lib/gl_avltree_list.c: New file.
46344         * lib/gl_anyavltree_list1.h: New file.
46345         * lib/gl_anyavltree_list2.h: New file.
46346         * lib/gl_rbtree_list.h: New file.
46347         * lib/gl_rbtree_list.c: New file.
46348         * lib/gl_anyrbtree_list1.h: New file.
46349         * lib/gl_anyrbtree_list2.h: New file.
46350         * lib/gl_anytree_list1.h: New file.
46351         * lib/gl_anytree_list2.h: New file.
46352         * lib/gl_linkedhash_list.h: New file.
46353         * lib/gl_linkedhash_list.c: New file.
46354         * lib/gl_anyhash_list1.h: New file.
46355         * lib/gl_anyhash_list2.h: New file.
46356         * lib/gl_avltreehash_list.h: New file.
46357         * lib/gl_avltreehash_list.c: New file.
46358         * lib/gl_rbtreehash_list.h: New file.
46359         * lib/gl_rbtreehash_list.c: New file.
46360         * lib/gl_anytreehash_list1.h: New file.
46361         * lib/gl_anytreehash_list2.h: New file.
46362
46363         * lib/gl_oset.h: New file.
46364         * lib/gl_oset.c: New file.
46365         * lib/gl_array_oset.h: New file.
46366         * lib/gl_array_oset.c: New file.
46367         * lib/gl_avltree_oset.h: New file.
46368         * lib/gl_avltree_oset.c: New file.
46369         * lib/gl_rbtree_oset.h: New file.
46370         * lib/gl_rbtree_oset.c: New file.
46371         * lib/gl_anytree_oset.h: New file.
46372
46373 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         * m4/mkancesdirs.m4: New file.
46376         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46377         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46378         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46379         it.
46380
46381 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46382
46383         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46384         * lib/mkancesdirs.h: New files.
46385         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46386         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46387         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46388         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46389         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46390         callers changed.  Revamp internals significantly, by not
46391         attempting to create directories that are temporarily more
46392         permissive than the final results.  Do not attempt to use
46393         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46394         This removes some race conditions, fixes some bugs, and simplifies
46395         things.  Use new dirchownmod function to do owner and mode changes.
46396         * lib/mkdir-p.h: Likewise.
46397         * lib/modechange.c (octal_to_mode): New function.
46398         (struct mode_change): New member mentioned.
46399         (make_node_op_equals): New arg mentioned.  All callers changed.
46400         (mode_compile): Keep track of which mode bits the user has explicitly
46401         mentioned.
46402         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46403         New arg PMODE_BITS, to keep track of which mode bits the user
46404         mentioned; it treats S_ISUID and S_ISGID speciall.
46405         All callers changed.
46406         * lib/modechange.h: Likewise.
46407
46408 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46409
46410         * MODULES.html.sh: Add mkancestors.
46411         * modules/mkancesdirs: New module.
46412         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46413         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46414         The chdir-safer and afs files are now orphans; I'll remove them
46415         unless someone speaks up.
46416         Add lib/dirchownmod.c, lib/dirchownmod.h.
46417         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46418         Add lchown, mkancesdirs.
46419         (Maintainer): Add self.
46420
46421 2006-07-15  Karl Berry  <karl@gnu.org>
46422
46423         * gnulib-tool: help message wording/arrangement.
46424
46425 2006-07-14  Simon Josefsson  <jas@extundo.com>
46426
46427         * doc/gnulib.texi (Libtool and Windows): New section.
46428
46429 2006-07-12  Simon Josefsson  <jas@extundo.com>
46430
46431         * modules/gendocs (License): Fix license, approved by Karl.
46432
46433 2006-07-12  Eric Blake  <ebb9@byu.net>
46434
46435         * MODULES.html.sh: Add gendocs.
46436
46437 2006-07-11  Eric Blake  <ebb9@byu.net>
46438
46439         * modules/fdl: New module, to install doc/fdl.texi.
46440         * MODULES.html.sh: Add new section for documentation modules.
46441         * gnulib-tool: Avoid space-tab.
46442         (--doc-base): New option, to manage files from doc.
46443
46444 2006-07-11  Eric Blake  <ebb9@byu.net>
46445
46446         * m4/absolute-header.m4: Fix comments to match recent change.
46447
46448 2006-07-11  Eric Blake  <ebb9@byu.net>
46449
46450         * gnulib-tool: List --doc-base before --tests-base.
46451
46452 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46453
46454         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46455
46456 2006-07-11  Bruno Haible  <bruno@clisp.org>
46457
46458         * README: Mention where to put documentation.
46459
46460 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46461
46462         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46463
46464 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46465
46466         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46467         to stdint.m4.
46468
46469 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46470
46471         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46472         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46473         "no/such/file/stdint.h" when there is no such file, so that
46474         the resulting C code can be parsed by dodgy compilers.
46475         Problems reported by Bob Proulx.
46476
46477 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46478
46479         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46480         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46481         macros into the GNU _D_EXACT_NAMLEN.
46482         * lib/savedir.c:  Likewise.
46483         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46484
46485 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46486         and Paul Eggert  <eggert@cs.ucla.edu>
46487
46488         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46489         * m4/savedir.m4:
46490         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46491         macros into the GNU _D_EXACT_NAMLEN.
46492
46493 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46494
46495         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46496         around the absolute name, to work around a problem with the HP-UX
46497         11.23 native C compiler, reported by Bob Proulx.
46498
46499 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46500
46501         * doc/maintain.texi, make-stds.texi: Sync from
46502         <http://savannah.gnu.org/projects/gnustandards>.
46503
46504 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46505
46506         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46507
46508 2006-07-09  Jim Meyering  <jim@meyering.net>
46509
46510         * m4/glob.m4: Remove a doubled word in a comment.
46511
46512 2006-07-09  Jim Meyering  <jim@meyering.net>
46513
46514         * lib/argp-pv.c: Remove a doubled word in a comment.
46515         * lib/check-version.c (check_version): Likewise.
46516         * lib/javacomp.c (compile_java_class): Likewise.
46517
46518 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46519
46520         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46521         for the benefit of people using Autoconf 2.60.  If you want to
46522         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46523         (or m4/onceonly.m4, if pre-2.57) manually.
46524
46525 2006-07-08  Jim Meyering  <jim@meyering.net>
46526
46527         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46528         comment.
46529         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46530         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46531         comment.
46532
46533 2006-07-08  Jim Meyering  <jim@meyering.net>
46534
46535         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46536
46537 2006-07-07  Simon Josefsson  <jas@extundo.com>
46538
46539         * tests/test-crc.c: Change expected crc value, the test vector
46540         were probably computed using the old broken crc.c?
46541
46542 2006-07-06  Simon Josefsson  <jas@extundo.com>
46543
46544         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46545         now the canonical place for the M4 file).
46546
46547         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46548         from the sys_socket dependency now.
46549
46550         * modules/inet_pton (Files): Ditto.
46551
46552         * modules/inet_ntop (Files): Ditto.
46553
46554 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46555
46556         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46557         not gl_PREREQ_GETUSERSHELL.
46558
46559 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46560
46561         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46562         with only one argument, for Autoconf 2.60.
46563         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46564         expand to nothing, so add a shell command to avoid syntax error.
46565         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46566
46567 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46568
46569         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46570
46571 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46572
46573         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46574         no longer needed.  Check for isblank decl.
46575         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46576         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46577         of existence.
46578
46579 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46580
46581         * lib/getloadavg.c: Use __VMS, not VMS.
46582         * lib/getopt.c: Likewise.
46583         * lib/getpagesize.h: Likewise.
46584         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46585         and probably does not work.
46586
46587 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46588
46589         * lib/.cppi-disable: Add wcwidth.
46590         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46591         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46592         (ISGRAPH): Remove.  All uses changed to isgraph.
46593         (FOLD) [!defined _LIBC]: Remove special case.
46594         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46595         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46596         HAVE_ISBLANK.
46597         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46598         case.
46599
46600 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46601
46602         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46603         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46604         brackets.  Other minor changes to suppress some compiler
46605         warnings.
46606
46607 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46608         and Paul Eggert  <eggert@cs.ucla.edu>
46609
46610         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46611         of invoking obsolescent AC_HEADER_DIRENT macro.
46612         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46613         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46614         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46615         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46616         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46617         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46618         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46619         * m4/readdir.m4: Remove; no longer needed.
46620
46621 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46622         and Paul Eggert  <eggert@cs.ucla.edu>
46623
46624         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46625         Don't worry about this obsolete case any more.
46626         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46627         directories.
46628         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46629         worry about this obsolete case any more.
46630         * lib/fts.c: Likewise.
46631         * lib/getcwd.c: Likewise.
46632         * lib/glob.h: Likewise.
46633         * lib/savedir.c: Likewise.
46634
46635 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46636
46637         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46638         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
46639         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
46640         needed.
46641         All uses removed.
46642         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46643         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46644         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
46645         needed.
46646         * m4/getdate.m4 (gl_GETDATE): Likewise.
46647         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46648         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46649         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46650         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46651         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46652         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46653         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
46654         needed.
46655
46656 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46657
46658         * lib/memcasecmp.c: Include <limits.h>.
46659         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
46660         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
46661         Don't assume isdigit succeeds only on '0' through '9'.
46662
46663 2006-07-05  Eric Blake  <ebb9@byu.net>
46664
46665         * modules/getaddrinfo (Depends-on): Add snprintf.
46666
46667 2006-07-05  Eric Blake  <ebb9@byu.net>
46668
46669         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
46670         to avoid 'header present but could not be compiled' on cygwin.
46671
46672 2006-07-05  Eric Blake  <ebb9@byu.net>
46673
46674         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
46675         missing from netdb.h.
46676         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
46677
46678 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46679
46680         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
46681         no longer needed.
46682         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
46683         * m4/getdate.m4 (gl_GETDATE): Likewise.
46684         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46685         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46686         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46687         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46688         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46689
46690 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46691
46692         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
46693         All uses of is_space replaced by isspace.
46694         * lib/exit.h: Don't talk about STDC_HEADERS.
46695         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
46696         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
46697         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
46698         replaced by isprint etc.
46699         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
46700         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46701         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
46702         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
46703         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
46704         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46705
46706 2006-07-05  Bruno Haible  <bruno@clisp.org>
46707
46708         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
46709         the function exists, before testing against AIX.
46710         Reported by Martin Lambers <marlam@marlam.de>.
46711
46712 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46713
46714         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
46715         From Mark D. Baushke.
46716
46717 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46718
46719         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
46720         to the absolute name, not just one, to bypass Sun C 5.8's
46721         "warning: #include of /usr/include/... may be non-portable".
46722
46723 2006-07-04  Eric Blake  <ebb9@byu.net>
46724
46725         * modules/dirname-tests: New test module.
46726         * tests/test-dirname.c: New file, replacing dirname.c
46727         TEST_DIRNAME section that was recently deleted.
46728
46729 2006-07-04  Bruno Haible  <bruno@clisp.org>
46730
46731         Assume ANSI C header files and <ctype.h> functions.
46732         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
46733         (mbsnwidth): Use isprint, iscntrl instead.
46734
46735 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46736
46737         Merge from coreutils.
46738         * MODULES.html.sh: Add xstrtold.
46739         * modules/xstrtold: New file.
46740         * modules/cycle-check (Files): Add lib/same-inode.h.
46741         * modules/dirname (Files): Add m4/double-slash-root.m4.
46742         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
46743         * modules/mkdir-p (Files): Add lib/same-inode.h.
46744         * modules/same (Files): Add lib/same-inode.h.
46745
46746 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46747
46748         * m4/absolute-header.m4: Renamed from full-header-path.m4.
46749         This is to keep the terminology clean; POSIX talks about
46750         "absolute pathnames", not "full pathnames", but the GNU
46751         Coding Standards say to use "path" for something else;
46752         so use "absolute" to keep both sides happy.
46753         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
46754         Set gl_absolute_header, not gl_full_header_path.
46755         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
46756         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
46757         All uses changed.
46758
46759         Merge from coreutils.
46760
46761         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46762
46763         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
46764         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
46765         want to require the building of c-strtod.o.
46766         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
46767         needs -lm directly.
46768         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
46769
46770         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46771
46772         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
46773         --as-needed option if available.  Problem reported by Albert Chin in
46774         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
46775         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
46776         cc merely issues a bunch of annoying warnings for --as-needed
46777         (this problem was reported by Bob Proulx).  Also, try linking with
46778         -lm to detect a bug in binutils 2.16 (this problem was reported
46779         by Ralf Wildenhues).
46780
46781         2006-06-18  Jim Meyering  <jim@meyering.net>
46782
46783         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
46784         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
46785         macro.
46786         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
46787         also check for glibc-2.4's abort-inducing bug.
46788
46789         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
46790         Low-probability clean-up should be to use rmdir to get rid of
46791         the just-created directory, not unlink.
46792
46793         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
46794         configure fail, and request a bug report to inform us about it.
46795         Add a comment that, barring reports to the contrary, in 2007 we'll
46796         assume ftruncate is universally available.
46797
46798         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46799
46800         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
46801
46802         2006-03-12  Jim Meyering  <jim@meyering.net>
46803
46804         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
46805         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
46806         * m4/same.m4 (gl_SAME): Likewise.
46807         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
46808
46809         2006-03-11  Eric Blake  <ebb9@byu.net>
46810
46811         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
46812         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
46813         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
46814         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
46815
46816 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46817
46818         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
46819         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
46820         reported by Mark D. Baushke, one in
46821         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
46822
46823         Merge from coreutils.
46824
46825         * lib/.cppi-disable: Add stdint_.h.
46826         * lib/.cvsignore: Add stdint.h.
46827
46828         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46829
46830         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
46831         both double and long double versions.
46832         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
46833         * lib/xstrtold.c: New file.
46834         * lib/xstrtod.h (xstrtold): New decl.
46835
46836         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
46837
46838         * lib/filemode.c (setst): Remove.
46839         (strmode): Rewrite to avoid setst.  This makes the code shorter,
46840         (arguably) clearer, and the generated code is a bit smaller on my
46841         Debian GNU/Linux stable x86 host.
46842
46843         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46844
46845         * lib/filemode.c: Include "filemode.h" first, to test the interface.
46846         Assume that filemode.h includes sys/types.h and sys/stat.h.
46847         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
46848         (ftypelet): Reorder to put common cases first, for efficiency.
46849         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
46850         to do 'M'.
46851         (strmode): Renamed from mode_string, and now stores 12 bytes instead
46852         of 10, for compatibility with FreeBSD.  All callers changed.
46853         (filemodestring): Now stores 12 bytes instead of 10, and sets file
46854         types that can't be deduced solely from st_mode.  First arg is now a
46855         const pointer.
46856         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
46857         (strmode): Renamed from mode_string.
46858         (filemodestring): New decl.
46859         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
46860         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
46861         needed.
46862         (S_ISPORT, S_ISWHT): New macros, if not already defined.
46863
46864         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
46865
46866         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
46867         fsusage.h now does that.  Include fsusage.h first, to test interface.
46868         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
46869         at most one method (the old code could have generated decls that
46870         didn't conform to C89, not that this was ever exercised).
46871         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
46872
46873         2006-03-19  Jim Meyering  <jim@meyering.net>
46874
46875         Work even in a chroot where d_ino values for entries in "/"
46876         don't match the stat.st_ino values for the same names.
46877         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
46878         number, iterate through all entries again, using lstat instead.
46879         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
46880         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
46881
46882         * lib/getcwd.c (__getcwd): Clarify a comment.
46883         Use memcpy in place of a call to strcpy.
46884
46885         2006-03-12  Jim Meyering  <jim@meyering.net>
46886
46887         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
46888         matches that of the current directory (which we're about to chdir ".."
46889         out of), then save the dev-ino of the parent, instead.
46890
46891         * lib/same-inode.h (SAME_INODE): New file/macro.
46892         * lib/chdir-safer.c (SAME_INODE): Remove definition.
46893         Include "same-inode.h", instead.
46894         * lib/same.c: Likewise.
46895         * lib/cycle-check.h: Include "same-inode.h".
46896         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
46897         * lib/cycle-check.c (SAME_INODE): Remove definition.
46898         * lib/root-dev-ino.h: Include "same-inode.h".
46899
46900         2006-03-11  Eric Blake  <ebb9@byu.net>
46901
46902         * lib/same.c (same_name): s/base_name/last_component/
46903         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
46904         * lib/filenamecat.c (file_name_concat): Likewise.
46905
46906         2006-03-11  Eric Blake  <ebb9@byu.net>,
46907                     Paul Eggert  <eggert@cs.ucla.edu>
46908
46909         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
46910         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
46911         drive prefix.
46912         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
46913         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
46914         (last_component): New method.
46915         * lib/dirname.c (dir_len): Determine when drive letters need a
46916         subsequent slash.  Preserve // when it is special.
46917         (dir_name): Don't append dot when drive letter is absolute.
46918         [TEST_DIRNAME]: Move into a full-blown gnulib test.
46919         * lib/basename.c (base_name): New semantics - malloc the result.
46920         Preserve // when it is special.  Preserve relative files that look
46921         like drive letters.
46922         (base_len): Preserve // when it is special.
46923         (last_component): New method, similar to old base_name semantics.
46924         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
46925         base_name.  Strip redundant slashes from ///.
46926
46927 2006-07-03  Jim Meyering  <jim@meyering.net>
46928
46929         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
46930         macro is used before the first cycle_check call.
46931
46932 2006-07-03  Eric Blake  <ebb9@byu.net>
46933
46934         * modules/dirname (Depends-on): Add xstrndup.
46935
46936 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46937
46938         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
46939         test cases, so that config.log is a bit easier to follow.
46940
46941 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46942
46943         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
46944         both are 64 bits, since this seems to be the tradition, and this
46945         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
46946         we ever run into a host that prefers long long to long in this
46947         case, we'll need another configure-time test.  Problem reported by
46948         Jim Meyering.
46949
46950 2006-07-02  Eric Blake  <ebb9@byu.net>
46951
46952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
46953
46954 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46955
46956         * modules/inttypes (Depends-on): No longer depends on stdint.
46957         * modules/stdint (Description): Say more about assumptions.
46958         Say that the fast types might differ.  Say macros are used.
46959         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
46960         (Makefile.am): Revise list of substituted symbols to match
46961         new stdint.m4.
46962         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
46963         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
46964         * tests/test-stdint.c (verify_same_types)
46965         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
46966         the code conforms to C99/C89.
46967         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
46968         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
46969
46970 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46971
46972         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
46973         but fix a bug, by requiring at least 64 bits.
46974         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
46975         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
46976         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
46977         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
46978
46979         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
46980         changes.  Make 2.59 a prerequisite.  Check and substitute for
46981         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
46982         inttypes.h.  Do not use special include files; just use the
46983         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
46984         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
46985         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
46986         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
46987         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
46988         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
46989         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
46990         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
46991         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
46992         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
46993         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
46994         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
46995         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
46996         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
46997         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
46998         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
46999         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47000         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47001         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47002         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47003         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47004         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47005         not check for things that C99 does not require, e.g., int8_t.  If
47006         a test isn't needed unless <stdint.h> isn't working, and is
47007         unlikely to be needed for any other reason, then don't do it
47008         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47009         size_t, since we assume C89 freestanding at least.  Do not check
47010         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47011         the right thing even if the types are not defined.  Instead use:
47012         (gl_STDINT_TYPE_PROPERTIES): New macro.
47013         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47014         testing whether <sys/types.h> clashes, as Autoconf does this for
47015         us now.  All uses removed.
47016         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47017         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47018         (gl_CHECK_TYPE_SAME):
47019         Remove; no longer needed.
47020         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47021         exists, since we'll return 0 anyway in that case.
47022         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47023
47024 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47025
47026         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47027         possible collision with system files.
47028         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47029         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47030         WCHAR_MIN and WCHAR_MAX in this case.
47031         (<stddef.h>): Do not include; no longer needed.
47032         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47033         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47034         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47035         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47036         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47037         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47038         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47039         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47040         !defined(__c99))]: Include in this case too, since it's harmless
47041         now.
47042         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47043         dangerous to do so.
47044         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47045         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47046         (_STDINT_MIN, _STDINT_MAX): New macros.
47047         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47048         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47049         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47050         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47051         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47052         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47053         macros, not typedefs; this simplifies things quite a bit.
47054         Use long int for all types narrower than int64_t.
47055         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47056         Define in terms of long long int or int64_t or long int,
47057         not int64_t or int32_t.  This saves some compile-time testing.
47058         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47059         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47060         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47061         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47062         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47063         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47064         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47065         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47066         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47067         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47068         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47069         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47070         undef any previous version and define our own version, for
47071         simplicity and consistency with the new macros for types.
47072         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47073         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47074         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47075         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47076         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47077         @WINT_T_SUFFIX@ to keep things simple here.
47078         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47079         Simplify by assuming typical 8/16/32/64 host, since we're
47080         already doing that elsewhere anyway.
47081         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47082         and assume long long int is 64 bits if available.  This
47083         speeds up 'configure'.
47084
47085 2006-07-01  Eric Blake  <ebb9@byu.net>
47086
47087         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47088         Reported by Andreas Buening.
47089
47090 2006-07-01  Eric Blake  <ebb9@byu.net>
47091
47092         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47093
47094 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47095
47096         * lib/getaddrinfo.c: fixed typo
47097
47098 2006-06-29  Jim Meyering  <jim@meyering.net>
47099
47100         * modules/strftime (Maintainer): Add my name, since with the
47101         FPRINTFTIME changes strftime.c has forked from glibc.
47102
47103 2006-06-29  Eric Blake  <ebb9@byu.net>
47104
47105         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47106
47107 2006-06-29  Eric Blake  <ebb9@byu.net>
47108
47109         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47110
47111 2006-06-29  Eric Blake  <ebb9@byu.net>
47112
47113         * lib/stat_.h: New file.
47114
47115 2006-06-29  Eric Blake  <ebb9@byu.net>
47116
47117         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47118         unused static function.
47119
47120 2006-06-29  Eric Blake  <ebb9@byu.net>
47121
47122         * doc/functions.texi (Function Portability): Document missing lstat
47123         on mingw.
47124
47125 2006-06-29  Eric Blake  <ebb9@byu.net>
47126
47127         * MODULES.html.sh: Add sys_stat.
47128         * modules/sys_stat: New module.
47129         * modules/mkstemp (Depends-on): Add sys_stat.
47130
47131 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47132
47133         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47134
47135 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47136
47137         * m4/c-bs-a.m4: Removed.
47138
47139 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47140
47141         * lib/strftime.c: Assume strftime() exists.
47142
47143 2006-06-29  Derek Price  <derek@ximbiot.com>
47144
47145         * modules/c-bs-a: Removed - \a is C89.
47146         * MODULES.html.sh: Remove c-bs-a.
47147
47148 2006-06-29  Bruno Haible  <bruno@clisp.org>
47149
47150         * modules/wcwidth (License): Change to LGPL.
47151
47152 2006-06-28  Simon Josefsson  <jas@extundo.com>
47153
47154         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47155         on _WIN32.
47156
47157         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
47158         getnameinfo.
47159
47160 2006-06-28  Simon Josefsson  <jas@extundo.com>
47161
47162         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
47163
47164 2006-06-28  Simon Josefsson  <jas@extundo.com>
47165
47166         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
47167         functions there.  It will succeed on Windows XP, but on Windows
47168         2000 and (presumably) earlier, it will fail, and use the internal
47169         re-implementation.
47170         (use_win32_p): New function.
47171         (getaddrinfo): Use strtoul on servname, to support numeric ports.
47172         Support AI_NUMERICSERV to disable getservbyname.
47173         (getnameinfo): New function, only supports
47174         NI_NUMERICHOST|NI_NUMERICSERV for now.
47175
47176         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
47177         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
47178         getnameinfo.
47179
47180 2006-06-28  Eric Blake  <ebb9@byu.net>
47181
47182         * modules/wcwidth: New file.
47183         * modules/mbchar (Depends-on): Add wcwidth.
47184         * modules/mbswidth (Depends-on): Add wcwidth.
47185         * MODULES.html.sh: Add wcwidth.
47186
47187 2006-06-28  Eric Blake  <ebb9@byu.net>
47188
47189         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47190         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47191
47192 2006-06-28  Eric Blake  <ebb9@byu.net>
47193
47194         * lib/xvasprintf.h: Fix comments.
47195
47196 2006-06-28  Eric Blake  <ebb9@byu.net>
47197
47198         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47199         * lib/mbswidth.c (wcwidth): Move from here...
47200         * lib/wcwidth.h: ...to this new file.
47201
47202 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47203
47204         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47205
47206         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47207         it's obsolete.
47208         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47209
47210 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47211
47212         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47213         Autoconf 2.60 says this stuff was obsolete.
47214
47215 2006-06-28  Bruno Haible  <bruno@clisp.org>
47216
47217         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47218
47219 2006-06-28  Bruno Haible  <bruno@clisp.org>
47220
47221         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47222         gt_TYPE_WCHAR_T.
47223
47224 2006-06-28  Bruno Haible  <bruno@clisp.org>
47225
47226         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47227         declaration for wcwidth.
47228         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47229
47230 2006-06-28  Bruno Haible  <bruno@clisp.org>
47231
47232         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47233         (mkdir): Define using _mkdir.
47234
47235 2006-06-28  Bruno Haible  <bruno@clisp.org>
47236
47237         * lib/getaddrinfo.h: Fix POSIX URL.
47238         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47239         _WIN32.
47240         (use_win32_p): Make static.
47241         (getaddrinfo): Reject service name if it is empty or does not consist
47242         solely of decimal digits, or if its value is > 65535.
47243         (getnameinfo): Remove useless casts.
47244
47245 2006-06-27  Simon Josefsson  <jas@extundo.com>
47246
47247         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47248         Eggert and Martin Lambers.
47249
47250 2006-06-27  Simon Josefsson  <jas@extundo.com>
47251
47252         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47253         Eggert and Martin Lambers.
47254
47255 2006-06-27  Bruno Haible  <bruno@clisp.org>
47256
47257         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47258         result to 0, not to empty.
47259         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47260
47261 2006-06-27  Bruno Haible  <bruno@clisp.org>
47262
47263         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47264
47265 2006-06-26  Simon Josefsson  <jas@extundo.com>
47266
47267         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47268         present.
47269
47270 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47271
47272         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47273         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47274         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47275
47276 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47277
47278         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47279
47280 2006-06-26  Bruno Haible  <bruno@clisp.org>
47281
47282         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47283
47284 2006-06-26  Bruno Haible  <bruno@clisp.org>
47285
47286         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47287
47288 2006-06-26  Bruno Haible  <bruno@clisp.org>
47289
47290         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47291         SGI C compiler in pre-C99 mode.
47292         Suggested by Mark D. Baushke and Larry Jones.
47293
47294 2006-06-26  Bruno Haible  <bruno@clisp.org>
47295
47296         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47297         WCHAR_MAX.
47298         Reported by Mark D. Baushke and Larry Jones.
47299
47300 2006-06-26  Bruno Haible  <bruno@clisp.org>
47301
47302         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47303         in pre-C99 mode.
47304         Suggested by Mark D. Baushke and Larry Jones.
47305
47306 2006-06-23  Simon Josefsson  <jas@extundo.com>
47307             Bruno Haible  <bruno@clisp.org>
47308
47309         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47310         Emit mostlyclean-local rule.
47311         (func_emit_tests_Makefile_am): Likewise.
47312         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47313
47314 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47315
47316         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47317
47318 2006-06-23  Bruno Haible  <bruno@clisp.org>
47319
47320         * tests/test-stdint.c: Update to match ISO C 99 Technical
47321         Corrigendum 1.
47322
47323 2006-06-23  Bruno Haible  <bruno@clisp.org>
47324
47325         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47326
47327 2006-06-23  Bruno Haible  <bruno@clisp.org>
47328
47329         * lib/stdint_.h: Treat IRIX like OpenBSD.
47330
47331 2006-06-23  Bruno Haible  <bruno@clisp.org>
47332
47333         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47334         ISO C 99 Technical Corrigendum 1.
47335
47336 2006-06-22  Simon Josefsson  <jas@extundo.com>
47337
47338         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47339         MinGW.
47340
47341 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47342
47343         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47344         needed.  Some compiler complained about some of them.  Problem reported
47345         by Larry Jones in
47346         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47347
47348 2006-06-21  Simon Josefsson  <jas@extundo.com>
47349
47350         * tests/test-getaddrinfo.c: New file.
47351
47352         * modules/getaddrinfo-tests: New file.
47353
47354         * MODULES.html.sh: Add inet_pton.
47355
47356         * modules/inet_pton: New file.
47357
47358 2006-06-21  Simon Josefsson  <jas@extundo.com>
47359
47360         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47361         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47362         of using the (limited) gnulib implementation on Windows XP.
47363
47364         * m4/inet_pton.m4: New file.
47365
47366 2006-06-21  Simon Josefsson  <jas@extundo.com>
47367
47368         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47369         variable.
47370
47371         * lib/socket_.h: Don't define WINVER.
47372
47373         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47374         slightly modified to work in gnulib.
47375
47376 2006-06-21  Simon Josefsson  <jas@extundo.com>
47377
47378         * doc/gnulib.texi (Windows sockets): Add.
47379
47380 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47381
47382         * lib/read-file.c (fread_file): Start with buffer allocation of
47383         0 bytes rather than 1 byte; this simplifies the code.
47384         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47385         code to free buffer and save/restore errno.
47386         (internal_read_file): Remove unused local.
47387
47388 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47389
47390         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47391         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47392         Problem reported by Denis Excoffier in
47393         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47394
47395 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47396
47397         * modules/sys_socket, modules/socklen: Include sys/types since
47398         FreeBSD 4.x's sys/socket.h needs it.
47399
47400 2006-06-19  Simon Josefsson  <jas@extundo.com>
47401
47402         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47403
47404 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47405
47406         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47407
47408 2006-06-19  Bruno Haible  <bruno@clisp.org>
47409
47410         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47411         and FULL_PATH_INTTYPES_H in angle brackets.
47412         Reported by Mark D. Baushke <mdb@gnu.org>.
47413
47414 2006-06-17  Eric Blake  <ebb9@byu.net>
47415
47416         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47417         errno.
47418
47419 2006-06-17  Bruno Haible  <bruno@clisp.org>
47420
47421         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47422         <sys/inttypes.h>.
47423
47424 2006-06-17  Bruno Haible  <bruno@clisp.org>
47425
47426         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47427         whether errno is declared. Assume <errno.h> declares errno.
47428
47429 2006-06-17  Bruno Haible  <bruno@clisp.org>
47430
47431         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47432
47433 2006-06-17  Bruno Haible  <bruno@clisp.org>
47434
47435         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47436         problem on Solaris 2.5.1.
47437
47438 2006-06-16  Eric Blake  <ebb9@byu.net>
47439
47440         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47441         * lib/unicodeio.c [!defined errno]: Likewise.
47442         * lib/strtol.c [!defined errno]: Likewise.
47443         * lib/strtod.c [!defined errno]: Likewise.
47444
47445 2006-06-15  Eric Blake  <ebb9@byu.net>
47446
47447         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47448
47449 2006-06-15  Eric Blake  <ebb9@byu.net>
47450
47451         * config/srclist.txt (ssize_t.m4): Lose sync.
47452
47453 2006-06-15  Bruno Haible  <bruno@clisp.org>
47454
47455         * modules/stdint (Files): Include m4/full-header-path.m4,
47456         m4/size_max.m4, m4/wchar_t.m4.
47457         (Makefile.am): Many more substitutions.
47458         * modules/stdint-tests: New file.
47459         * tests/test-stdint.c: New file.
47460
47461 2006-06-15  Bruno Haible  <bruno@clisp.org>
47462
47463         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47464         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47465         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47466         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47467         gl_CHECK_TYPE_SAME): New macros.
47468
47469 2006-06-15  Bruno Haible  <bruno@clisp.org>
47470
47471         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47472
47473 2006-06-15  Bruno Haible  <bruno@clisp.org>
47474
47475         * lib/stdint_.h: Rewritten to be fully auto-configured.
47476         Fixes bug on HP-UX/IA64.
47477
47478 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47479
47480         * lib/getdate.y (__attribute__): Don't define if already defined.
47481         Problem reported by Larry Jones.
47482         * lib/utimens.c (__attribute__): Likewise.
47483
47484 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47485
47486         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47487         reported by Andreas Schwab.
47488
47489 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47490             Bruno Haible  <bruno@clisp.org>
47491
47492         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47493         check for the declaration of strnlen and a run test that exposes the
47494         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47495         rpl_strndup.
47496
47497 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47498             Bruno Haible  <bruno@clisp.org>
47499
47500         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47501
47502 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47503
47504         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47505         compile test, for Tru64 4.0D.
47506
47507 2006-05-28  Karl Berry  <karl@gnu.org>
47508
47509         * config/srclist.txt (printf-args.c): lose sync.
47510
47511 2006-05-26  Martin Lambers  <marlam@marlam.de>
47512
47513         * lib/getpass.c: Updates the test for the native W32 API, and adds
47514         missing includes, thus fixing compilation warnings.
47515
47516 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47517
47518         * lib/exclude.c (exclude_fnmatch): New function.
47519         (excluded_file_name): Call exclude_fnmatch.
47520         * lib/exclude.h (excluded_file_name): New prototype
47521
47522 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47523
47524         * lib/tempname.c (small_open, large_open): New macros.
47525         (__open, __open64) [!_LIBC]: Remove.
47526         (__gen_tempname): Use small_open and large_open instead of __open
47527         and __open64.  This fixes a portability bug on HP-UX 11.11i
47528         reported by Simon Wing-Tang in
47529         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47530
47531 2006-05-24  Bruno Haible  <bruno@clisp.org>
47532
47533         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47534         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47535         Reported by Thorsten Maerz <torte@netztorte.de> via
47536         Aaron Stone <aaron@serendipity.cx>.
47537
47538 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47539
47540         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47541         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47542         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47543         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47544         not really conditional on the cache.
47545         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47546
47547 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47548
47549         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47550         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47551         (my_usleep): Don't mishandle maximum value.
47552
47553 2006-05-19  Jim Meyering  <jim@meyering.net>
47554
47555         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47556
47557 2006-05-17  Bruno Haible  <bruno@clisp.org>
47558
47559         Cygwin portability.
47560         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47561
47562 2006-05-17  Bruno Haible  <bruno@clisp.org>
47563
47564         * lib/stdint_.h: Fix recognition of Cygwin.
47565
47566 2006-05-15  Bruno Haible  <bruno@clisp.org>
47567
47568         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47569         on libtool patch by Ralf Wildenhues.
47570
47571 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47572
47573         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47574         test for C99 conformance; (bool) 0.5 is an integer constant
47575         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47576         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47577
47578 2006-05-11  Simon Josefsson  <jas@extundo.com>
47579
47580         * m4/xvasprintf.m4: Fix obvious typo.
47581
47582 2006-05-11  Jim Meyering  <jim@meyering.net>
47583
47584         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47585         James Lemley.
47586
47587 2006-05-10  Simon Josefsson  <jas@extundo.com>
47588
47589         * lib/md4.c: Typo fix, update copyright years.
47590         (K1, K2): Don't use L because it turn computations into 64-bit on
47591         64-bit platforms.
47592
47593 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47594
47595         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47596         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47597         unwanted sign propagation, e.g., on hosts with 64-bit int.
47598         There still are some problems with reeelly weird theoretical hosts
47599         (e.g., 33-bit int) but it's not worth worrying about now.
47600         * lib/sha1.c (rol): Likewise.
47601         (K1, K2, K3, K4): Remove unnecessary L suffix.
47602
47603 2006-05-10  Bruno Haible  <bruno@clisp.org>
47604
47605         * lib/des.c: Cast to avoid warnings.
47606
47607 2006-05-09  Bruno Haible  <bruno@clisp.org>
47608
47609         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47610         (Depends-on): Depend also on xsize, stdarg.
47611         (configure.ac): Add gl_XVASPRINTF.
47612
47613 2006-05-09  Bruno Haible  <bruno@clisp.org>
47614
47615         * m4/xvasprintf.m4: New file.
47616
47617 2006-05-09  Bruno Haible  <bruno@clisp.org>
47618
47619         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47620         (EOVERFLOW): Define fallback value.
47621         (xstrcat): New function.
47622         (xvasprintf): Recognize the special case of a string concatenation.
47623
47624 2006-05-08  Eric Blake  <ebb9@byu.net>
47625
47626         * gnulib-tool (func_version): Base copyright year on CVS date.
47627         (func_emit_copyright_notice): New function.
47628         (func_emit_lib_Makefile_am): Use it.
47629         (func_emit_tests_Makefile_am): Likewise.
47630         (func_import): Likewise.
47631
47632 2006-05-08  Bruno Haible  <bruno@clisp.org>
47633
47634         * modules/stdarg: New file.
47635         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47636
47637 2006-05-08  Bruno Haible  <bruno@clisp.org>
47638
47639         * m4/stdarg.m4: New file, from GNU gettext.
47640
47641 2006-05-08  Bruno Haible  <bruno@clisp.org>
47642
47643         * config/srclist.txt (build-aux/config.rpath): different from latest
47644         release.
47645
47646 2006-05-08  Bruno Haible  <bruno@clisp.org>
47647
47648         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
47649
47650 2006-05-05  Jim Meyering  <jim@meyering.net>
47651
47652         * m4/warning.m4: New file, derived from bison's file by the same name.
47653
47654 2006-05-03  Bruno Haible  <bruno@clisp.org>
47655
47656         * lib/stdint_.h: Shorter URL.
47657         * lib/inttypes.h: Likewise.
47658
47659 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47660
47661         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
47662
47663 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47664
47665         * lib/verify.h: Document the internals better.  Most of this change
47666         was written by Bruno Haible.
47667
47668 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47669
47670         * doc/verify.texi: New file, partly based on a proposal by
47671         Bruno Haible.
47672
47673 2006-05-02  Bruno Haible  <bruno@clisp.org>
47674
47675         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
47676         test from here...
47677         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
47678
47679 2006-04-29  Bruno Haible  <bruno@clisp.org>
47680
47681         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
47682         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
47683
47684 2006-04-29  Bruno Haible  <bruno@clisp.org>
47685
47686         * gnulib-tool: Make --update option actually work.
47687
47688 2006-04-29  Bruno Haible  <bruno@clisp.org>
47689
47690         * doc/gcd.texi: New file.
47691         * doc/gnulib.texi: Include it.
47692
47693 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47694
47695         * lib/getdate.y (get_date): When adding relative date, start with the
47696         initial time, not with the result of the first mktime call.
47697
47698 2006-04-25  Bruno Haible  <bruno@clisp.org>
47699
47700         * gnulib-tool (func_import): Output the include directives in three
47701         blocks, sorted separately.
47702         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47703
47704 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47705
47706         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
47707         to define main with arguments, for C++.  Reported by Eric Blake.
47708         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
47709         Prefer 'int main ()' to 'int main (void)', for C++.
47710         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47711         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
47712         for 'main', for C99 and C++.
47713
47714 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47715
47716         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
47717         Don't assume that exit status -1 is valid.
47718         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47719         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47720         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
47721         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
47722         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
47723         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
47724         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
47725         functions can be used without declaring them, or that you can
47726         exit with status -1.
47727         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
47728
47729 2006-04-24  Karl Berry  <karl@gnu.org>
47730
47731         * config/srclist.txt (longdouble.m4): sync lost.
47732
47733 2006-04-24  Eric Blake  <ebb9@byu.net>
47734
47735         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
47736
47737 2006-04-24  Bruno Haible  <bruno@clisp.org>
47738
47739         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
47740         poll() implementation in AIX.
47741         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47742
47743 2006-04-24  Bruno Haible  <bruno@clisp.org>
47744
47745         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
47746         assigned exactly once.
47747
47748 2006-04-23  Claudio Fontana  <claudio@gnu.org>
47749             Bruno Haible  <bruno@clisp.org>
47750
47751         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
47752         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
47753         for AM_CPPFLAGS.
47754
47755 2006-04-23  Bruno Haible  <bruno@clisp.org>
47756
47757         * modules/copy-file: Depend on unistd.
47758         * modules/execute: Likewise.
47759         * modules/fatal-signal: Likewise.
47760         * modules/findprog: Likewise.
47761         * modules/mkdtemp : Likewise.
47762         * modules/pipe: Likewise.
47763         * modules/wait-process: Likewise.
47764
47765 2006-04-23  Bruno Haible  <bruno@clisp.org>
47766
47767         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
47768         condition was already detected.
47769         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47770
47771 2006-04-23  Bruno Haible  <bruno@clisp.org>
47772
47773         * lib/copy-file.c: Include <unistd.h> unconditionally.
47774         * lib/execute.c: Likewise.
47775         * lib/fatal-signal.c: Likewise.
47776         * lib/findprog.c: Likewise.
47777         * lib/mkdtemp.c: Likewise.
47778         * lib/pipe.h: Likewise.
47779         * lib/pipe.c: Likewise.
47780         * lib/wait-process.h: Likewise.
47781
47782 2006-04-23  Bruno Haible  <bruno@clisp.org>
47783
47784         * gnulib-tool (func_usage): Fix --import description. Document
47785         --update.
47786         (func_import): Create temporary file in a temporary directory, if
47787         --dry-run is specified. Silence errors from 'grep' when there are no
47788         m4 files in $m4dir.
47789         (func_create_testdir): Silence errors from 'grep' when there are no
47790         m4 files in $m4dir.
47791         Reported by Karl Berry <karl@freefriends.org>.
47792
47793 2006-04-20  Bruno Haible  <bruno@clisp.org>
47794
47795         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
47796         one argument, so that the code will be portable to Autoconf 2.60.
47797         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
47798         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47799         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
47800
47801 2006-04-19  Derek Price  <derek@ximbiot.com>
47802             Eric Blake  <ebb9@byu.net>
47803
47804         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
47805         rather than "/full/path.h".  Update comment to match.  Shorten &
47806         generalize m4_translit call via AS_TR_CPP.
47807
47808 2006-04-19  Derek Price  <derek@ximbiot.com>
47809             Eric Blake  <ebb9@byu.net>
47810
47811         * lib/inttypes.h: Correct grammar in comment.
47812
47813 2006-04-18  Derek Price  <derek@ximbiot.com>
47814             Paul Eggert  <eggert@cs.ucla.edu>
47815
47816         * modules/inttypes: New file.
47817         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
47818
47819 2006-04-18  Derek Price  <derek@ximbiot.com>
47820             Paul Eggert  <eggert@cs.ucla.edu>
47821
47822         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
47823         New files.
47824
47825 2006-04-18  Derek Price  <derek@ximbiot.com>
47826             Paul Eggert  <eggert@cs.ucla.edu>
47827
47828         * lib/inttypes.h: New file.
47829         * lib/strtoimax.c: Assume <inttypes.h>.
47830
47831 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
47832
47833         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
47834         isn't mounted.  Problem reported by Kir Kolyshkin.
47835
47836 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47837
47838         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
47839         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
47840         Derek R. Price.
47841         * lib/regex.h (RE_DUP_MAX): Update comment to match current
47842         implementation.
47843
47844 2006-04-12  Eric Blake  <ebb9@byu.net>
47845
47846         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
47847         is now done automatically by the corresponding Autoconf macro.
47848
47849 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47850
47851         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
47852         time_r.h.
47853
47854 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47855
47856         Merge regex changes from libc, removing some of our
47857         POSIX-conformance changes that were rejected and redoing them in a
47858         less-intrusive way.
47859
47860         * lib/regcomp.c (re_compile_internal, init_dfa):
47861         Length arg is now size_t, not Idx.  All uses changed.
47862         (peek_token): Forward decl now says internal_function.
47863         (__re_error_msgid, __re_error_msgid_idx):
47864         Now static rather than extern with attribute_hidden.
47865         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
47866         For some reason libc prefers K&R style defns for external functions.
47867         (regerror) [!defined _LIBC]: Likewise.
47868         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
47869         (seek_collating_symbol_entry, lookup_collation_sequence_value):
47870         (build_range_exp, build_collating_symbol):
47871         Use K&R-style defn.
47872         (re_compile_fastmap): Use '\0' to memset, not 0.
47873         (utf8_sb_map): Make the calculations more obvious.
47874         (init_dfa, parse_bracket_exp, build_charclass_op):
47875         Call calloc and cast result, as glibc does.
47876         (init_word_char, fetch_token, peek_token, peek_token_bracket):
47877         (build_range_exp, build_collating_symbol):
47878         Now internal functions.
47879
47880         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
47881
47882         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
47883         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
47884         Don't depend on VMS; depend on __VMS instead, for POSIX
47885         namespace cleanness.
47886         (regoff_t): Define to ssize_t, not long int.
47887
47888         Remove the REG_ macros named below.  Instead, make the old names
47889         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
47890         __USE_GNU_REGEX.
47891         (REG_BACKSLASH_ESCAPE_IN_LISTS):
47892         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
47893         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
47894         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
47895         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
47896         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
47897         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
47898         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
47899         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
47900         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
47901         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
47902         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
47903         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
47904         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
47905         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
47906         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
47907         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
47908         (REG_NREGS):
47909         Remove.  All uses replaced by the old RE_* names.
47910         (RE_BACKSLASH_ESCAPE_IN_LISTS):
47911         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
47912         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
47913         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
47914         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
47915         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
47916         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
47917         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
47918         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
47919         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
47920         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
47921         Don't bother having these macros be independent of each others'
47922         values, since they no longer exist in the POSIX name space.
47923
47924         Rename the following member names back to their old names,
47925         unless !__USE_GNU_REGEX.  All uses changed back.
47926         (buffer): Renamed from re_buffer.
47927         (allocated): Renamed from re_allocated.
47928         (used): Renamed from re_used.
47929         (syntax): Renamed from re_syntax.
47930         (fastmap): Renamed from re_fastmap.
47931         (translate): Renamed from re_translate.
47932         (can_be_null): Renamed from re_can_be_null.
47933         (regs_allocated): Renamed from re_regs_allocated.
47934         (fastmap_accurate): Renamed from re_fastmap_accurate.
47935         (no_sub): Renamed from re_no_sub.
47936         (not_bol): Renamed from re_not_bol.
47937         (not_eol): Renamed from re_not_eol.
47938         (newline_anchor): Renamed from re_newline_anchor.
47939         (num_regs): Renamed from rm_num_regs.
47940         (start): Renamed from rm_start.
47941         (end): Renamed from rm_end.
47942
47943         (free_state): Move up a bit.
47944
47945         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
47946         #define to be empty.
47947         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
47948         when that is what is intended.
47949         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
47950         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
47951         (MAX): New macro.
47952         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
47953         All uses changed back to re_malloc, etc.  It's now the caller's
47954         responsibility to check for overflow; all callers changed.
47955         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
47956         (re_x2nrealloc): Remove.
47957         (free_state): Remove decl.
47958
47959         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
47960         (re_set_registers, re_exec):
47961         Use K&R-style defn.
47962
47963         2006-01-31  Roland McGrath  <roland@redhat.com>
47964
47965         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
47966         Reported by Mike Frysinger <vapier@gentoo.org>.
47967
47968         2006-01-15  Andreas Jaeger  <aj@suse.de>
47969
47970         [BZ #1950]
47971         * lib/regex_internal.c (re_string_reconstruct): Adjust for
47972         build_wcs_upper_buffer change.
47973         (build_wcs_upper_buffer): Change return type.
47974
47975         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
47976
47977         * lib/regex_internal.h: Include <stdint.h> if available.
47978
47979         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
47980
47981         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
47982
47983         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
47984
47985         * lib/regcomp.c: Adjust for changed secondary hash function.
47986
47987         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
47988
47989         * lib/regex.h: Pretty printing.
47990         Clean up namespace a bit.
47991
47992         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
47993
47994         * lib/regexec.c (update_cur_sifted_state, check_arrival,
47995         check_arrival_add_next_nodes): Avoid using uninitialized variable.
47996
47997         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47998                     Ulrich Drepper  <drepper@redhat.com>
47999
48000         [BZ #1302]
48001         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48002         changed.
48003         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48004
48005         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48006
48007         [BZ #281]
48008         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48009         * lib/regcomp.c: Remove unnecessary uses of
48010         unsigned RE_TRANSLATE_TYPE.
48011         * lib/regex_internal.h: Likewise.
48012         * lib/regex_internal.c: Likewise.
48013         * lib/regexec.c: Likewise.
48014         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48015
48016         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48017
48018         * lib/regexec.c (find_recover_state): Remove unnecessary
48019         initialization.
48020         (transit_state_bkref): Make DFA a const pointer.
48021         (get_subexp): Likewise.
48022         (check_arrival): Likewise.
48023         (update_cur_sifted_state): Likewise.
48024         (re_search_internal): Likewise.
48025         (prune_impossible_nodes): Likewise.
48026         (acquire_init_state_context): Likewise.
48027         (proceed_next_node): Likewise.
48028         (set_regs): Likewise.
48029         (free_fail_stack_return): Likewise.
48030         (check_arrival_expand_ecl): Mark DFA parameter as const.
48031         (check_arrival_expand_ecl_sub): Likewise.
48032         (check_subexp_limits): Likewise.
48033         (sub_epsilon_src_nodes):  Likewise.
48034         (add_epsilon_src_nodes):  Likewise.
48035         (merge_state_array): Likewise.
48036         (update_regs): Likewise.
48037         (build_trtable): Likewise.
48038         (sift_states_backward): Mark MCTX parameter as const.
48039         (build_sifted_states): Likewise.
48040         (update_cur_sifted_state): Likewise.
48041         (sift_states_mkref): Likewise.
48042         (check_arrival_expand_ecl): Mark eclosure as const.
48043         (check_dst_limits_calc_pos_1): Likewise.
48044         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48045         pointer.
48046
48047         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48048
48049         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48050         (transit_state_sb): Likewise.
48051         (transit_state_mb): Likewise.
48052         (sift_states_iter_mb): Likewise.
48053         (check_arrival_add_next_nodes): Likewise.
48054         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48055         [_LIBC] (re_search_2_stub): Use mempcpy.
48056
48057         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48058         mbrtowc for very simple UTF-8 case.
48059
48060         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48061         a pointer-to-const.
48062         (re_acquire_state_context): Likewise.
48063         * lib/regex_internal.h: Adjust prototypes.
48064
48065         * lib/regex.c: Prevent using C++ compilers.
48066
48067         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48068         (re_acquire_state_context): Likewise.
48069
48070 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48071
48072         * modules/regex (Depends-on): Add ssize_t.
48073
48074 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48075
48076         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48077         translation table.
48078
48079 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48080
48081         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48082
48083 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48084             Bruno Haible  <bruno@clisp.org>
48085
48086         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48087         <sys/types.h> and <inttypes.h>.
48088
48089 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48090
48091         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48092         `__error_t_defined', so argp.h will not typedef the former.
48093
48094 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48095
48096         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48097         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48098         glibc names.  Even if glibc is changed to conform to POSIX, the
48099         traditional names will be available anyway, since regex depends on
48100         the extensions module.  Also, fix a longstanding typo in the
48101         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48102         reported by Emanuele Giaquinta.  Also, change sense of cached
48103         variable, so that the message makes sense.
48104
48105 2006-03-24  Simon Josefsson  <jas@extundo.com>
48106
48107         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48108         including some doc fixes.
48109         (base64_encode_alloc): Fix +1 bug on allocation failures.
48110
48111 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48112
48113         * lib/base64.c (base64_encode): Do not read past end of array with
48114         unsanitized input on systems with CHAR_BIT > 8.
48115
48116 2006-03-24  Eric Blake  <ebb9@byu.net>
48117
48118         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48119
48120 2006-03-22  Karl Berry  <karl@gnu.org>
48121
48122         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48123         * config/srclistvars.sh (COREUTILS): new var.
48124
48125 2006-03-17  Jim Meyering  <jim@meyering.net>
48126
48127         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48128         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48129
48130 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48131
48132         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48133         no longer needs it.  Instead, check that regoff_t is as least
48134         as wide as ptrdiff_t.
48135
48136         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48137         so that our regex.h stays compatible with the installed regex.
48138         This is helpful for installers who configure --without-included-regex.
48139         Problem reported by Emanuele Giaquinta.
48140
48141 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48142
48143         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48144         Typedef to long int, not to off_, as POSIX will likely change
48145         in that direction.
48146
48147 2006-03-15  Eric Blake  <ebb9@byu.net>
48148
48149         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48150
48151 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48152
48153         * lib/argp-help.c (validate_uparams): Fix typo
48154         * lib/argp-parse.c (argp_default_options): Consistently begin help
48155         messages with a lowercase letter.
48156
48157 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
48158
48159         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
48160         overrun buffers and shouldn't be used (much as gets shouldn't be
48161         used).
48162         * lib/time_r.c (asctime_r, ctime_r): Likewise.
48163
48164 2006-03-08  Simon Josefsson  <jas@extundo.com>
48165
48166         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
48167         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48168
48169 2006-03-08  Simon Josefsson  <jas@extundo.com>
48170
48171         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
48172         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48173
48174 2006-03-08  Simon Josefsson  <jas@extundo.com>
48175
48176         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
48177         signal that configure disabled the device.
48178
48179 2006-03-08  Simon Josefsson  <jas@extundo.com>
48180
48181         * build-aux/maint.mk: Fix refresh-po, to handle no translated
48182         languages.
48183
48184 2006-03-07  Simon Josefsson  <jas@extundo.com>
48185
48186         * modules/getopt (Depends-on): Add unistd.
48187
48188         * modules/unistd: New file.
48189
48190 2006-03-07  Simon Josefsson  <jas@extundo.com>
48191
48192         * modules/gc-random: New file.
48193
48194 2006-03-07  Simon Josefsson  <jas@extundo.com>
48195
48196         * m4/unistd_h.m4: New file.
48197
48198 2006-03-07  Simon Josefsson  <jas@extundo.com>
48199
48200         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48201         test to be side-effect free by storing the result in the cache
48202         variable gl_cv_lib_readline, and moving the assignment of
48203         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48204         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48205
48206 2006-03-07  Simon Josefsson  <jas@extundo.com>
48207
48208         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48209         error on missing devices (the functions will return an error).
48210
48211         * m4/gc.m4: Move random stuff to gc-random.m4
48212
48213 2006-03-07  Simon Josefsson  <jas@extundo.com>
48214
48215         * lib/unistd_.h: New file.
48216
48217 2006-03-07  Simon Josefsson  <jas@extundo.com>
48218
48219         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48220
48221 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48222
48223         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48224         Problem reported by Juan Manuel Guerrero.
48225
48226 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48227
48228         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48229         the unistd module.
48230         * lib/getlogin_r.c: Likewise.
48231         * lib/getlogin_r.h: Likewise.
48232         * lib/glob.c: Likewise.
48233         * lib/pagealign_alloc.c: Likewise.
48234         * lib/unistd_.h: Remove; no longer needed.
48235
48236 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48237
48238         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48239         Add unistd.
48240         * modules/c-stack (Depends-on): Add unistd.
48241         * modules/getlogin_r: Likewise.
48242         * modules/glob: Likewise.
48243         * modules/pagealign_alloc: Likewise.
48244         * modules/unistd (Files): Remove lib/unistd_.h.
48245         (EXTRA_DIST): Remove.
48246         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48247         need unistd_.h.
48248         (MOSTLYCLEANFILES): Remove unistd.h-t.
48249
48250 2006-03-03  Simon Josefsson  <jas@extundo.com>
48251
48252         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48253
48254 2006-03-03  Simon Josefsson  <jas@extundo.com>
48255
48256         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48257         libidn and bison.
48258
48259 2006-03-03  Simon Josefsson  <jas@extundo.com>
48260
48261         * build-aux/maint.mk: Add indent target.
48262
48263 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48264
48265         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48266         our replacement poll.h in any case, to avoid a differing
48267         declaration from a system header.  Seen on AIX.
48268
48269 2006-03-01  Simon Josefsson  <jas@extundo.com>
48270
48271         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48272         <kasal@ucw.cz>.
48273
48274 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48275
48276         * modules/gettime (Depends-on): Add extensions module.
48277         * modules/nanosleep (Depends-on): Likewise.
48278         * modules/settime (Depends-on): Likewise.
48279
48280 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48281
48282         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48283         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48284         pedantically.
48285         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48286         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48287
48288         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48289         not "==".  Reported by Ralf Wildenhues.
48290
48291 2006-03-01  Karl Berry  <karl@gnu.org>
48292
48293         * doc/Copyright/request-*: new files, synced from gnuorg.
48294
48295 2006-03-01  Karl Berry  <karl@gnu.org>
48296
48297         * config/srclist.txt (Copyright/*): new entries.
48298
48299 2006-02-28  Simon Josefsson  <jas@extundo.com>
48300
48301         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48302
48303 2006-02-27  Simon Josefsson  <jas@extundo.com>
48304
48305         * lib/base64.h: Indent #define's.  From Jim Meyering
48306         <jim@meyering.net>.
48307
48308 2006-02-27  Jim Meyering  <jim@meyering.net>
48309
48310         Revert the change of 2006-02-24, so these files can continue
48311         to be sync'd from gettext.
48312         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48313         of `config.h'.
48314
48315 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48316
48317         * modules/intprops: New file.
48318         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48319         Add intprops.
48320         * modules/getloadavg (Files): Remove lib/intprops.h.
48321         (Depends-on): Add intprops.
48322         * modules/human: Likewise.
48323         * modules/inttostr: Likewise.
48324         * modules/openat: Likewise.
48325         * modules/sig2str: Likewise.
48326         * modules/userspec: Likewise.
48327         * modules/utimecmp: Likewise.
48328         * modules/xnanosleep: Likewise.
48329         * modules/xstrtol: Likewise.
48330
48331 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48332
48333         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48334         * modules/lock-tests (TESTS): Use $(EXEEXT).
48335         * modules/tls-tests: Likewise.
48336         * modules/argp-tests: Likewise.
48337         (check_PROGRAMS): New var, replacing...
48338         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48339
48340 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48341
48342         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48343         `config.h'.
48344
48345 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48346
48347         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48348
48349 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48350
48351         Sync from coreutils.
48352         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48353         gl_CHDIR_SAFER.
48354
48355 2006-02-22  Jim Meyering  <jim@meyering.net>
48356
48357         Sync from coreutils.
48358         * m4/chdir-safer.m4: New file.
48359
48360 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48361
48362         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48363         AT_FDCWD exceeds INT_MAX.
48364         * lib/openat.h (AT_FDCWD): Likewise.
48365
48366 2006-02-17  Eric Blake  <address@hidden>
48367
48368         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48369
48370 2006-02-16  Simon Josefsson  <jas@extundo.com>
48371
48372         * modules/getaddrinfo (Depends-on): Add sys_socket.
48373
48374 2006-02-15  Simon Josefsson  <jas@extundo.com>
48375
48376         * build-aux/maint.mk: Add dsyntax-check rule.
48377
48378 2006-02-15  Eric Blake  <ebb9@byu.net>
48379
48380         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48381         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48382         'present but cannot compile' warnings on cygwin.
48383         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48384         use ws2tcpip.h if sys/socket.h works.
48385         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48386         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48387
48388 2006-02-14  Simon Josefsson  <jas@extundo.com>
48389
48390         * modules/maintainer-makefile (Files): Rename.
48391
48392         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48393         and (the local) Makefile.cfg to maint-cfg.mk.
48394
48395         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48396         to the latter.
48397
48398         * modules/maintainer-makefile: New module.
48399
48400         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48401         severaly stripped to make it possible to build it up from scratch
48402         with reliable tests.
48403
48404         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48405         fixes to permit overriding the default actions when configure and
48406         makefile are not available.
48407
48408 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48409
48410         Sync from coreutils.
48411         * modules/lstat (Depends-on): Don't depend on xalloc.
48412         (License): Change from GPL to LGPL, since this is now simply a
48413         replacement for a libc function.
48414
48415 2006-02-14  Jim Meyering  <jim@meyering.net>
48416
48417         Sync from coreutils.
48418
48419         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48420         failure on deficient systems, and simplify gnulib lgpl dependencies.
48421         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48422         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48423
48424         * lib/xalloc-die.c: Remove unused definition of N_.
48425
48426 2006-02-14  Jim Meyering  <jim@meyering.net>
48427
48428         Sync from coreutils.
48429         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48430         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48431         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48432         double-quote uses of that variable, to accommodate the rare case in
48433         which getmntent is available in none of the libraries checked.  This
48434         happens at least on FreeBSD 5.0.
48435
48436 2006-02-13  Simon Josefsson  <jas@extundo.com>
48437
48438         * gnulib-tool (Usage): Fix --import, from
48439         karl@freefriends.org (Karl Berry).
48440
48441 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48442
48443         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48444
48445 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48446
48447         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48448         "autoupdate" on 2005-12-12.
48449
48450 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48451
48452         * modules/closeout (Depends-on): Remove atexit.
48453
48454 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48455
48456         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48457         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48458
48459 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48460
48461         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48462         __EXTENSIONS__ if this causes compilation to fail.  Problem
48463         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48464         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48465
48466 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48467
48468         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48469         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48470         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48471         All uses changed.
48472
48473 2006-01-26  Simon Josefsson  <jas@extundo.com>
48474
48475         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48476         prototype is visible on mingw32.
48477
48478         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48479         for mingw32.
48480
48481         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48482         mingw32).
48483
48484 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48485
48486         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48487         attempt to open for write; this always fails, at least on POSIX
48488         hosts.  This reinstates the 2006-01-09 change, which was
48489         inadvertently removed.
48490
48491 2006-01-26  Bruno Haible  <bruno@clisp.org>
48492
48493         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48494         Reported by Paul Eggert.
48495
48496 2006-01-26  Bruno Haible  <bruno@clisp.org>
48497             Paul Eggert  <eggert@cs.ucla.edu>
48498
48499         * lib/stdbool_.h (_Bool)
48500         [(! (defined __cplusplus || defined __BEOS__)
48501           && !defined __GNUC__
48502           && !(defined __HP_cc || defined __xlc__
48503                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48504                || defined __sgi))]:
48505         #define to signed char in these cases too; this simplifies
48506         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48507         etc., separately) and makes it more conservative.
48508
48509 2006-01-25  Simon Josefsson  <jas@extundo.com>
48510
48511         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48512         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48513         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48514
48515 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48516
48517         * lib/argp-namefrob.h: Bugfix. Remove stray #
48518
48519 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48520
48521         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48522         so that we test the test.
48523         Check for yet another HP-UX cc bug involving *bool |= bool.
48524
48525 2006-01-25  Karl Berry  <karl@gnu.org>
48526
48527         * config/srclist.txt (vasnprintf.c): sync lost.
48528
48529 2006-01-25  Jim Meyering  <jim@meyering.net>
48530
48531         Sync from the stable (b5) branch of coreutils:
48532
48533         * lib/fts.c (fts_children): Don't let close() clobber errno from
48534         failed fchdir().
48535
48536         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48537         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48538         a dangling symlink.  That can also happen at least for ELOOP.
48539         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48540         FYI, this bug predates the inclusion of fts.c in coreutils.
48541
48542         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48543         in their own block, so pre-c99 compilers don't object.
48544
48545         Avoid the double-free (first in fts_read, second in fts_close) that
48546         would occur when an `active' directory is made inaccessible (e.g.,
48547         via chmod a-x) during a traversal.
48548         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48549         before returning.  Reproduce this failure by
48550         mkdir -p a/b; cd a; chmod a-x . b
48551         Reported by Stavros Passas.
48552
48553 2006-01-25  Jim Meyering  <jim@meyering.net>
48554
48555         * lib/fileblocks.c: Remove more useless parentheses.
48556         * lib/readutmp.h: Likewise.
48557
48558 2006-01-25  Bruno Haible  <bruno@clisp.org>
48559
48560         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48561         warnings.
48562         Reported by Paul Eggert.
48563
48564 2006-01-25  Bruno Haible  <bruno@clisp.org>
48565
48566         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48567         rid of a trap command. For Solaris sh.
48568         Reported by Mark D. Baushke <mdb@gnu.org>.
48569
48570 2006-01-24  Simon Josefsson  <jas@extundo.com>
48571
48572         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48573         Bruno.
48574
48575 2006-01-24  Karl Berry  <karl@gnu.org>
48576
48577         * config/srclist.txt (argp-namefrob.h): sync lost.
48578
48579 2006-01-24  Jim Meyering  <jim@meyering.net>
48580
48581         * modules/openat (Files): Add lib/intprops.h.
48582         From Mark D. Baushke.
48583
48584 2006-01-24  Jim Meyering  <jim@meyering.net>
48585
48586         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48587         Reported by Mark D. Baushke.
48588
48589 2006-01-24  Jim Meyering  <jim@meyering.net>
48590
48591         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48592
48593 2006-01-24  Bruno Haible  <bruno@clisp.org>
48594
48595         * modules/strnlen (Maintainer): Change from glibc to all.
48596
48597 2006-01-24  Bruno Haible  <bruno@clisp.org>
48598
48599         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48600         Patch by Paul Eggert.
48601
48602 2006-01-24  Bruno Haible  <bruno@clisp.org>
48603
48604         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48605         already has it.
48606         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48607         2005-11-26.
48608
48609         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48610         'signed char' to avoid problems with the built-in _Bool type.
48611         Reported by Paul Eggert on 2005-11-26.
48612
48613 2006-01-24  Bruno Haible  <bruno@clisp.org>
48614
48615         * gnulib-tool (func_import): Avoid constructing complicated sed
48616         expressions inside backquote.
48617         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48618
48619 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48620
48621         These changes imported from libc.
48622         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48623         test and two separate function calls.
48624         * lib/strndup.c (__strndup): Add libc_hidden_def.
48625
48626 2006-01-23  Simon Josefsson  <jas@extundo.com>
48627
48628         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48629         Remove the test_*_SOURCES variable: automake infers it by default.
48630         * modules/tls-tests: Likewise.
48631
48632 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48633
48634         Work around porting bugs reported by Dieter in
48635         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48636         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48637         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48638         Include "getopt.h" first, to check interface.
48639         (getenv): Declare only if defined HAVE_DECL_GETENV &&
48640         !HAVE_DECL_GETENV.
48641         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
48642         (__strndup): Revert to K&R-style function dfns, the glibc style.
48643         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
48644         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
48645         Include strnlen.h first, to get prototype properly.
48646         (strnlen): Renamed from __strnlen.
48647         Remove weak alias.
48648
48649 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48650
48651         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
48652
48653 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48654
48655         * config/srclist.txt: Adjust to reflect glibc reorganization.
48656         This affects only comments.
48657
48658 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48659
48660          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
48661          Reported by Bruce Korb <bkorb@gnu.org>.
48662
48663 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48664
48665         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
48666         to pacify gcc -Wswitch-default.
48667
48668 2006-01-22  Bruno Haible  <bruno@clisp.org>
48669
48670         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
48671         temporary buffer for sprintf, take into account the precision also
48672         for 'd', 'i', 'u', 'o', 'x', 'X'.
48673
48674 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48675
48676         * modules/argp-tests: New module
48677         * tests/test-argp.c: New file
48678         * tests/test-argp-2.sh: New file
48679
48680 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48681
48682         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
48683         (__argp_base_name): Removed
48684         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
48685         typo.
48686         (__argp_base_name): Provide macro definition or extern declaration
48687         depending on the configuration
48688
48689 2006-01-20  Simon Josefsson  <jas@extundo.com>
48690
48691         * modules/inet_ntop (Depends-on): Depend on sys_socket.
48692
48693 2006-01-20  Simon Josefsson  <jas@extundo.com>
48694
48695         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
48696
48697 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48698
48699         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
48700         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
48701         Suggested by Bruno Haible.
48702
48703 2006-01-20  Karl Berry  <karl@gnu.org>
48704
48705         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
48706         until changes propagate, I guess.
48707
48708 2006-01-19  Simon Josefsson  <jas@extundo.com>
48709
48710         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
48711
48712 2006-01-19  Simon Josefsson  <jas@extundo.com>
48713
48714         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
48715
48716 2006-01-19  Simon Josefsson  <jas@extundo.com>
48717
48718         * gnulib-tool: Set check_PROGRAMS.
48719
48720         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48721         modules/des-tests, modules/gc-arcfour-tests,
48722         modules/gc-arctwo-tests, modules/gc-des-tests,
48723         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48724         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48725         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48726         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48727         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48728         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
48729         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
48730         test_*_SOURCES.
48731
48732 2006-01-18  Simon Josefsson  <jas@extundo.com>
48733
48734         * modules/socklen (Depends-on): Depend on sys_socket.
48735
48736 2006-01-18  Simon Josefsson  <jas@extundo.com>
48737
48738         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48739         modules/des-tests, modules/gc-arcfour-tests,
48740         modules/gc-arctwo-tests, modules/gc-des-tests,
48741         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48742         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48743         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48744         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48745         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48746         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
48747         $(EXEEXT) to automake TESTS variable, for mingw32.
48748
48749 2006-01-17  Simon Josefsson  <jas@extundo.com>
48750
48751         * modules/socklen (Include): Need sys/socket.h.
48752
48753 2006-01-17  Bruno Haible  <bruno@clisp.org>
48754
48755         * modules/ssize_t (Include): Add <sys/types.h>.
48756
48757 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
48758
48759         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
48760         it's not portable and it doesn't work with cross-compiles.
48761         Problem reported by Bruno Haible.  Fix missing-$ typo in
48762         'test "gl_cv_ignore_unused_libraries" ...' that prevented
48763         -zignore from being used with Sun's C compiler.
48764
48765 2006-01-12  Simon Josefsson  <jas@extundo.com>
48766
48767         * lib/base64.c: Fix warning, reported by Bruno Haible
48768         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
48769
48770 2006-01-12  Bruno Haible  <bruno@clisp.org>
48771
48772         * modules/ldd: New file.
48773         * build-aux/ldd.sh.in: New file.
48774         * MODULES.html.sh (Support for building libraries and executables): Add
48775         ldd.
48776
48777 2006-01-12  Bruno Haible  <bruno@clisp.org>
48778
48779         * m4/ldd.m4: New file.
48780
48781 2006-01-12  Bruno Haible  <bruno@clisp.org>
48782
48783         * gnulib-tool (func_import, func_create_testdir): Don't go into an
48784         endless loop while replacing $auxdir with build-aux.
48785
48786 2006-01-11  Simon Josefsson  <jas@extundo.com>
48787
48788         * lib/stdint_.h (SIZE_MAX): Add missing (.
48789
48790 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
48791
48792         Sync from coreutils.
48793         * lib/md5.c: Fix commentary typos.
48794         (alignof, UNALIGNED_P): No need for a GCC-specific version.
48795         * lib/md5.h (__attribute__): Remove; unused.
48796         * lib/sha1.c: Fix commentary to match md5 better.
48797         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
48798         so that we don't need to worry about alignment.  All uses changed.
48799         This merges the 2005-10-28 md5 change into sha1.
48800
48801 2006-01-11  Jim Meyering  <jim@meyering.net>
48802
48803         Sync from coreutils.
48804         * lib/md5.c (OP): Fix spacing.
48805
48806 2006-01-11  Bruno Haible  <bruno@clisp.org>
48807
48808         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48809         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
48810         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
48811
48812 2006-01-11  Bruno Haible  <bruno@clisp.org>
48813
48814         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48815         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
48816         the "early" section as well.
48817
48818 2006-01-11  Bruno Haible  <bruno@clisp.org>
48819
48820         Avoid "ar: no archive members specified" error on MacOS X.
48821         * gnulib-tool (func_modules_add_dummy): New function.
48822         (func_import, func_create_testdir): Invoke it.
48823
48824 2006-01-11  Bruno Haible  <bruno@clisp.org>
48825
48826         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
48827         with $auxdir in AC_CONFIG_FILES statements.
48828
48829 2006-01-11  Bruno Haible  <bruno@clisp.org>
48830
48831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48832         Initialize also noinst_HEADERS to empty.
48833
48834 2006-01-11  Bruno Haible  <bruno@clisp.org>
48835
48836         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
48837         variables.
48838         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
48839         autoreconf.
48840
48841 2006-01-11  Bruno Haible  <bruno@clisp.org>
48842
48843         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
48844         overridable by the user.
48845         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48846
48847 2006-01-10  Simon Josefsson  <jas@extundo.com>
48848
48849         * modules/sys_socket: New file.
48850
48851 2006-01-10  Simon Josefsson  <jas@extundo.com>
48852
48853         * m4/sys_socket_h.m4: New file.
48854
48855 2006-01-10  Simon Josefsson  <jas@extundo.com>
48856
48857         * lib/socket_.h: New file.
48858
48859 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48860
48861         * modules/readutmp (Maintainer): Add myself.
48862
48863 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48864
48865         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
48866         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
48867         People who are still concerned with buggy memcmp implementations
48868         can invoke gl_FUNC_MEMCMP themselves.
48869
48870 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48871
48872         * lib/regex_internal.h (BITSET_WORD_BITS):
48873         Work around a bug in 64-bit PGC (before version 6.1-2), where the
48874         preprocessor mishandles large unsigned values as if they were signed.
48875         Problem reported by Claudio Fontana in
48876         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
48877
48878 2006-01-10  Jim Meyering  <jim@meyering.net>
48879
48880         Avoid the double-free (first in fts_read, second in fts_close) that
48881         would occur when an `active' directory is made inaccessible (e.g.,
48882         via chmod a-x) during a traversal.
48883         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48884         before returning.  Reproduce this failure by
48885         mkdir -p a/b; cd a; chmod a-x . b
48886         Reported by Stavros Passas.
48887
48888         Sync from coreutils.
48889         * lib/sha1.c: Tweak grammar in a comment.
48890
48891 2006-01-10  Jim Meyering  <jim@meyering.net>
48892
48893         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
48894         Patch by Joerg Sonnenberger.
48895
48896 2006-01-10  Bruno Haible  <bruno@clisp.org>
48897
48898         * modules/readutmp: Depend on module free.
48899         * modules/strtok_r: Depend on module restrict.
48900
48901 2006-01-10  Bruno Haible  <bruno@clisp.org>
48902
48903         * modules/gettext (configure.ac): Add an invocation of
48904         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
48905
48906 2006-01-10  Bruno Haible  <bruno@clisp.org>
48907
48908         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
48909         Reported by Werner Lemberg <wl@gnu.org>.
48910
48911 2006-01-10  Bruno Haible  <bruno@clisp.org>
48912
48913         * lib/localcharset.c: Update from GNU gettext.
48914
48915 2006-01-10  Bruno Haible  <bruno@clisp.org>
48916
48917         * lib/argp.h (__const): Remove macro. Use const instead.
48918         * lib/argp-fmtstream.h (__const): Likewise.
48919         * lib/glob_.h (__const): Remove macro.
48920         * lib/glob-libc.h: Use const instead of __const.
48921
48922 2006-01-10  Bruno Haible  <bruno@clisp.org>
48923
48924         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
48925         variable.
48926         Needed to avoid an automake error regarding the 'gettext' module.
48927
48928 2006-01-09  Simon Josefsson  <jas@extundo.com>
48929
48930         * modules/inet_ntop (Depends-on): Add restrict.
48931
48932 2006-01-09  Simon Josefsson  <jas@extundo.com>
48933
48934         * modules/gc-rijndael-tests (License): Put under LGPL.
48935
48936         * modules/gc-des-tests (License): Likewise.
48937
48938         * modules/gc-arcfour-tests (License): Likewise.
48939
48940         * modules/gc-arctwo-tests (License): Likewise.
48941
48942         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
48943
48944         * modules/gc-hmac-sha1-tests (Files): Likewise.
48945
48946         * modules/gc-hmac-md5-tests (License): Likewise.
48947
48948         * modules/gc-sha1-tests (License): Likewise.
48949
48950         * modules/gc-md5-tests (License): Likewise.
48951
48952         * modules/gc-md4-tests (License): Likewise.
48953
48954         * modules/gc-md2-tests (License): Likewise.
48955
48956         * modules/gc-tests (License): Likewise.
48957
48958         * modules/des-tests (License): Likewise.
48959
48960         * modules/md4-tests (License): Likewise.
48961
48962         * modules/md2-tests (License): Likewise.
48963
48964 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48965
48966         Sync from coreutils:
48967
48968         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
48969         * modules/lib-ignore: New file.
48970         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
48971         chdir-safer.m4, lchmod.m4.
48972         * modules/openat: Add mkdirat.c, openat-priv.h.
48973
48974 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48975
48976         Sync from coreutils.
48977         * m4/lib-ignore.m4: New file.
48978         * m4/lchmod.m4: New file.
48979
48980 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48981
48982         Sync from coreutils.
48983         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
48984         for write access: POSIX says that must fail.
48985         * lib/fts.c (diropen): Likewise.
48986         * lib/save-cwd.c (save_cwd): Likewise.
48987         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
48988         well, for minor improvements on hosts that lack O_DIRECTORY.
48989         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
48990         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
48991         Fall back on chown if open failed with EACCES.
48992
48993         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
48994         Report an error at compile-time if only a 1-second nominal clock
48995         resolution is found.
48996
48997         * lib/lchmod.h: New file.
48998         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
48999         (make_dir_parents): Use lchown rather than chown, and
49000         lchmod rather than chmod.
49001
49002         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49003         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49004         "proc" reported by n0dalus.
49005
49006         * lib/mountlist.c: Include <limits.h>.
49007         (dev_from_mount_options)
49008         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49009         New function.  It no longer assumes "dev=" has the System V meaning
49010         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49011         (read_file_system_list)
49012         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49013         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49014         dev= in that case.
49015
49016         * lib/posixtm.h (PDS_PRE_2000): New macro.
49017         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49018         allow_century.  All usages changed.  Reject dates outside the range
49019         1969-1999 if PDS_PRE_2000 is used.
49020
49021 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49022
49023         Sync from coreutils.
49024         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49025         (Time of day items): Mention the possibility of leap seconds.
49026         Problem reported by Dr. David Alan Gilbert.
49027
49028 2006-01-09  Jim Meyering  <jim@meyering.net>
49029
49030         Sync from coreutils.
49031
49032         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49033
49034         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49035
49036         * lib/modechange.c (mode_compile): Reject an invalid mode string
49037         that starts with an octal digit.  From Andreas Gruenbacher.
49038
49039         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49040         and dup to open_safer and dup_safer, respectively.
49041         (openat_permissive): Fix typo in comment.
49042
49043         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49044         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49045         (_): Remove; no longer needed.
49046         (openat): Renamed from rpl_openat; no need for rpl_openat
49047         since openat.h renames openat for us.
49048         Replace most of the body with a call to openat_permissive,
49049         to avoid duplicate code.
49050         Port to (probably hypothetical) environments were mode_t is
49051         wider than int.
49052         (openat_permissive): Require mode arg, so that we can check
49053         types better.  Put it just after flags.  Change cwd failure
49054         indicator from pointer-to-bool to pointer-to-errno-value.
49055         All callers changed.
49056         Invoke openat_save_fail and/or openat_restore_fail if
49057         cwd_errno is null, so that openat can call us.
49058         (openat_permissive, fdopendir, fstatat, unlinkat):
49059         Simplify errno handling to avoid some duplicate code,
49060         as it's OK to set errno on success.
49061         * lib/openat.h: Revamp code so that function macros depend on
49062         __OPENAT_PREFIX only, not also on AT_FDCWD.
49063         (openat_ro): Remove.  Caller changed to use openat_permissive.
49064         (openat_permissive): Now a macro, if not a function.
49065         (openat_restore_fail, openat_save_fail): Now always functions,
49066         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49067
49068         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49069         and openat.c.
49070         * lib/mkdirat.c: Include openat-priv.h.
49071         Remove definitions of macros defined therein.
49072         * lib/openat.c: Likewise.
49073
49074         * lib/mkdirat.c (mkdirat): New file and function.
49075         * lib/openat.h (mkdirat): Declare.
49076
49077         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49078
49079         * lib/openat.h (openat_permissive): Declare.
49080         (openat_ro): Define.
49081
49082         * lib/openat.c (EXPECTED_ERRNO): New macro.
49083         (openat_permissive): New function -- used in remove.c rewrite.
49084         (all functions): Set errno just before returning, only if there
49085         was an actual failure.
49086         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49087
49088         Emulate openat-family functions using Linux's procfs, if possible.
49089         Idea and some code based on Ulrich Drepper's glibc changes.
49090
49091         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49092         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49093         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49094         before falling back on save_cwd and restore_cwd.
49095         (fdopendir, fstatat, unlinkat): Likewise.
49096
49097         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49098         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49099
49100         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49101         as second argument to va_arg.  Otherwise, some versions of gcc
49102         warn that `if this code is reached, the program will abort'.
49103
49104 2006-01-09  Jim Meyering  <jim@meyering.net>
49105
49106         Sync from coreutils.
49107         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49108         Require openat-priv.h.
49109
49110 2006-01-09  Bruno Haible  <bruno@clisp.org>
49111
49112         * modules/strnlen (Include): Use strnlen.h.
49113
49114 2006-01-09  Bruno Haible  <bruno@clisp.org>
49115
49116         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49117
49118 2006-01-09  Bruno Haible  <bruno@clisp.org>
49119
49120         * lib/sysexit_.h (EX_OK): New macro.
49121         Suggested by Martin Lambers <marlam@marlam.de>.
49122
49123 2006-01-09  Bruno Haible  <bruno@clisp.org>
49124
49125         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49126         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49127
49128 2006-01-09  Bruno Haible  <bruno@clisp.org>
49129
49130         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49131         numbers.
49132
49133 2006-01-09  Bruno Haible  <bruno@clisp.org>
49134
49135         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49136         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49137         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49138         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49139
49140 2006-01-09  Bruno Haible  <bruno@clisp.org>
49141
49142         * build-aux/javacomp.sh.in: New file, moved from lib/.
49143         * modules/javacomp-script (Files): Update.
49144         (configure.ac): Add AC_CONFIG_FILES invocation.
49145         (EXTRA_DIST): Remove variable.
49146
49147         * build-aux/javaexec.sh.in: New file, moved from lib/.
49148         * modules/javaexec (Files): Update.
49149         (configure.ac): Add AC_CONFIG_FILES invocation.
49150         (EXTRA_DIST): Remove javaexec.sh.in.
49151
49152         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49153         * modules/csharpcomp-script (Files): Update.
49154         (configure.ac): Add AC_CONFIG_FILES invocation.
49155         (EXTRA_DIST): Remove variable.
49156
49157         * build-aux/csharpexec.sh.in: New file, moved from lib/.
49158         * modules/csharpexec (Files): Update.
49159         (configure.ac): Add AC_CONFIG_FILES invocation.
49160         (EXTRA_DIST): Remove csharpexec.sh.in.
49161
49162 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49163
49164         Sync from coreutils.
49165
49166         Add POSIX ACL support
49167         * lib/acl.h (copy_acl, set_acl): Add declarations.
49168         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
49169         systems other than Linux.
49170         (chmod_or_fchmod): New function: use fchmod when possible,
49171         and chmod otherwise.
49172         (file_has_acl): Add a POSIX ACL implementation, with a
49173         Linux-specific subcase.
49174         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
49175         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
49176         acls are unsupported.
49177         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
49178         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
49179         are unsupported.
49180
49181 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49182
49183         Sync from coreutils.
49184         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
49185
49186 2006-01-07  Bruno Haible  <bruno@clisp.org>
49187
49188         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49189         gl_EARLY.
49190
49191 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49192
49193         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49194         Problem reported for Mingw by Mark Junker.
49195
49196 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49197
49198         * README: Gnulib normally doesn't generate a tarball.
49199
49200 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49201
49202         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49203         long int, not int, for nanosecond counts, so that people who are
49204         used to POSIX struct timespec won't be surprised.  Reported by Jim
49205         Meyering.
49206
49207 2005-12-28  Bruno Haible  <bruno@clisp.org>
49208
49209         * build-aux/config.rpath: Update from GNU gettext.
49210
49211 2005-12-16  Jim Meyering  <jim@meyering.net>
49212
49213         * modules/fprintftime: New module.
49214         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49215
49216 2005-12-16  Jim Meyering  <jim@meyering.net>
49217
49218         * m4/fprintftime.m4: New file.
49219
49220 2005-12-16  Jim Meyering  <jim@meyering.net>
49221
49222         * lib/fprintftime.c, lib/fprintftime.h: New files.
49223
49224 2005-12-15  Simon Josefsson  <jas@extundo.com>
49225
49226         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49227         new m4/socklen.m4.
49228
49229 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49230
49231         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49232         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49233
49234 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49235
49236         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49237         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49238         struct uparams is valid. Fall back to the default values if it is
49239         not.
49240
49241 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49242
49243         * modules/argp (Files): Add argp-pin.c
49244         (Depends-on): dirname
49245         (lib_SOURCES): Add argp-pin.c
49246
49247 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49248
49249         * m4/argp.m4:  Check if program_invocation_name and
49250         program_invocation_short_name are declared and define appropriate
49251         macros if they are not.
49252
49253 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49254
49255         * lib/argp-help.c (__argp_base_name): New function
49256         (__argp_short_program_name): Rewrite using __argp_base_name
49257         * lib/argp-namefrob.h: Define program_invocation_name and
49258         program_invocation_short_name if requested
49259         (__argp_base_name): Add prototype
49260         * lib/argp-parse.c (argp_def): Use gettext wrappers
49261         (argp_default_parser): Use __argp_base_name
49262         * lib/argp-pin.c: New file. Defines program_invocation_name and
49263         program_invocation_short_name on systems that lack them.
49264
49265 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49266
49267         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49268         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49269         porting problem reported by Georg Schwarz in
49270         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49271
49272 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49273
49274         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49275         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49276         porting problem reported by Georg Schwarz in
49277         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49278
49279 2005-12-05  Bruno Haible  <bruno@clisp.org>
49280
49281         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49282         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49283         Reported by Mark Junker <mjscod@gmx.de>.
49284
49285 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49286
49287         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49288         Use implementation from Albert Chin, with some
49289         comments/corrections by Stepan Kasal and myself.
49290
49291 2005-12-02  Bruno Haible  <bruno@clisp.org>
49292
49293         * gnulib-tool (func_import): Accept GPLed build tool modules when
49294         --lgpl is given.
49295         * modules/csharpcomp-script: New file.
49296         * modules/csharpcomp: Depend on it.
49297         * modules/javacomp-script: New file.
49298         * modules/javacomp: Depend on it.
49299         Suggested by Simon Josefsson.
49300
49301 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49302
49303         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49304         statement, to work around an HP-UX 10.20 compiler bug reported by
49305         Peter O'Gorman.
49306
49307 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49308
49309         * modules/savedir (Depends-on): Add openat.
49310
49311 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49312
49313         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49314         (uintmax_t) [defined uintmax_t]: Do not declare.
49315         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49316         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49317         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49318         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49319         sake of portability to weird hosts that C allows (though we don't
49320         know of any practical examples).
49321
49322         * lib/savedir.h (fdsavedir): New decl.
49323         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49324         contains most of the former guts of savedir.
49325         (savedir): Use savedirstream.
49326         Include "openat.h".
49327
49328 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49329
49330         * modules/obstack (Files): Add m4/ulonglong.m4.
49331         Problem reported by Davide Angelocola.
49332
49333 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49334
49335         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49336         coreutils no longer futzes with rounding modes.
49337
49338 2005-11-14  Jim Meyering  <jim@meyering.net>
49339
49340         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49341         replacement of mkstemp.
49342
49343 2005-11-10  Simon Josefsson  <jas@extundo.com>
49344
49345         * lib/readline.c: Remove EOL.
49346
49347 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49348
49349         * modules/gethrxtime (Depends-on): Add gettime.
49350
49351 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49352
49353         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49354         or gettimeofday; no longer needed.
49355
49356 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49357
49358         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49359         time business.
49360         (gethrxtime) [! (HAVE_NANOUPTIME
49361         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49362         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49363         our own approximation.
49364
49365 2005-11-08  Eric Blake  <ebb9@byu.net>
49366
49367         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49368
49369 2005-11-08  Eric Blake  <ebb9@byu.net>
49370
49371         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49372
49373 2005-11-04  Bruno Haible  <bruno@clisp.org>
49374
49375         * gnulib-tool: Implement --update mode.
49376
49377 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49378
49379         Fix porting problem reported by Theodoros V. Kalamatianos.
49380         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49381         Don't assume that futimes failing means we must fail.
49382
49383 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49384
49385         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49386         variables to suggest the intended function of the PATH_MAX check.
49387
49388 2005-10-30  Kean Johnston  <jkj@sco.com>
49389
49390         Trivial changes to support SCO systems.
49391         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49392         as PATH_MAX.
49393         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49394         where __ptr is null when no I/O is pending.
49395
49396 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49397
49398         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49399         leave errno alone.  Problem reported by Dmitry V. Levin.
49400
49401 2005-10-28  Simon Josefsson  <jas@extundo.com>
49402
49403         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49404         Test more.
49405
49406         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49407
49408         * modules/md2, modules/md2-tests: New files.
49409
49410 2005-10-28  Simon Josefsson  <jas@extundo.com>
49411
49412         * m4/inet_ntop.m4: More tests.
49413
49414         * m4/gc-md2.m4, md2.m4: New file.
49415
49416 2005-10-28  Simon Josefsson  <jas@extundo.com>
49417
49418         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49419         "restrict" keywords, as per POSIX.  Protect the function
49420         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49421         Don't use K&R prototypes.  Check the sprintf return values.
49422         Re-define EAFNOSUPPORT if not present.  Indent.
49423
49424         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49425         suggested by Bruno Haible <bruno@clisp.org>.
49426
49427         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49428
49429         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49430
49431         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49432         libgcrypt).
49433
49434         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49435
49436         * lib/md2.h, lib/md2.c: New files.
49437
49438 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49439
49440         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49441         errno alone.  Problem reported by Frederic Jolliton.
49442
49443 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49444
49445         * modules/verify (License): Change from GPL to LGPL.  This is a
49446         tiny module and there are apparently near-equivalents that are
49447         under the BSD license.
49448
49449 2005-10-24  Simon Josefsson  <jas@extundo.com>
49450
49451         * modules/sha1: Relicense to LGPL.
49452
49453 2005-10-24  Simon Josefsson  <jas@extundo.com>
49454
49455         * lib/md4.h: Shrink buffer size, now that we changed the type.
49456
49457 2005-10-23  Simon Josefsson  <jas@extundo.com>
49458
49459         * gnulib-tool (func_import): Fix --tests-base.
49460
49461 2005-10-22  Simon Josefsson  <jas@extundo.com>
49462
49463         * modules/arcfour (Depends-on): Need stdint.
49464
49465 2005-10-22  Simon Josefsson  <jas@extundo.com>
49466
49467         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49468         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49469
49470 2005-10-22  Simon Josefsson  <jas@extundo.com>
49471
49472         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49473         suggested by Bruno Haible <bruno@clisp.org>.
49474
49475 2005-10-22  Simon Josefsson  <jas@extundo.com>
49476
49477         * lib/crc.h: Include stddef.h, for size_t.
49478
49479 2005-10-22  Simon Josefsson  <jas@extundo.com>
49480
49481         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49482         arcfour_context struct (simplify test vector testing in GNU
49483         Shishi).
49484
49485 2005-10-21  Simon Josefsson  <jas@extundo.com>
49486
49487         * modules/des, modules/des-tests: New files.
49488
49489         * modules/gc-des, modules/gc-des-tests: New files.
49490
49491         * tests/test-des.c, tests/test-gc-des.c: New file.
49492
49493 2005-10-21  Simon Josefsson  <jas@extundo.com>
49494
49495         * modules/arctwo, modules/arctwo-tests: New files.
49496
49497         * tests/test-arctwo.c: New file.
49498
49499         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49500
49501         * tests/test-gc-arctwo.c: New file.
49502
49503 2005-10-21  Simon Josefsson  <jas@extundo.com>
49504
49505         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49506         Bruno Haible <bruno@clisp.org>.
49507
49508         * m4/gc-des.m4: New file.
49509
49510 2005-10-21  Simon Josefsson  <jas@extundo.com>
49511
49512         * m4/arctwo.m4: New file.
49513
49514         * m4/gc-arctwo.m4: New file.
49515
49516 2005-10-21  Simon Josefsson  <jas@extundo.com>
49517
49518         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49519         block.
49520
49521 2005-10-21  Simon Josefsson  <jas@extundo.com>
49522
49523         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49524         <bruno@clisp.org>.
49525
49526         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49527
49528         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49529         Bruno Haible <bruno@clisp.org>.
49530
49531         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49532         <bruno@clisp.org>.
49533
49534 2005-10-21  Simon Josefsson  <jas@extundo.com>
49535
49536         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49537
49538 2005-10-21  Simon Josefsson  <jas@extundo.com>
49539
49540         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49541
49542 2005-10-21  Simon Josefsson  <jas@extundo.com>
49543
49544         * lib/des.h, lib/des.c: New files.
49545
49546         * lib/gc-gnulib.c: Support DES.c
49547
49548 2005-10-21  Simon Josefsson  <jas@extundo.com>
49549
49550         * lib/arctwo.h, lib/arctwo.c: New files.
49551
49552         * lib/gc-gnulib.c: Support ARCTWO.
49553
49554 2005-10-21  Simon Josefsson  <jas@extundo.com>
49555
49556         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49557         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49558
49559 2005-10-21  Simon Josefsson  <jas@extundo.com>
49560
49561         * gnulib-tool (func_import, func_create_testdir): Define automake
49562         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49563         Makefile.am snippet),
49564         suggested by Bruno Haible <bruno@clisp.org>.
49565
49566         * modules/gc (Makefile.am): Use it.
49567
49568 2005-10-21  Bruno Haible  <bruno@clisp.org>
49569
49570         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49571         patch.
49572
49573 2005-10-19  Simon Josefsson  <jas@extundo.com>
49574
49575         * tests/test-gc-rijndael.c: New file.
49576
49577         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49578
49579 2005-10-19  Simon Josefsson  <jas@extundo.com>
49580
49581         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49582         interface too.
49583
49584 2005-10-19  Simon Josefsson  <jas@extundo.com>
49585
49586         * tests/test-gc-arcfour.c: New file.
49587
49588         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49589
49590 2005-10-19  Simon Josefsson  <jas@extundo.com>
49591
49592         * modules/gc-md4, modules/gc-md4-tests: New file.
49593
49594         * tests/test-gc-md4.c: New file.
49595
49596 2005-10-19  Simon Josefsson  <jas@extundo.com>
49597
49598         * m4/gc-md4.m4: New file.
49599
49600 2005-10-19  Simon Josefsson  <jas@extundo.com>
49601
49602         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49603         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49604         <kasal@ucw.cz>.
49605
49606 2005-10-19  Simon Josefsson  <jas@extundo.com>
49607
49608         * m4/gc-arcfour.m4: New file.
49609
49610         * m4/gc-rijndael.m4: New file.
49611
49612 2005-10-19  Simon Josefsson  <jas@extundo.com>
49613
49614         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49615
49616 2005-10-19  Simon Josefsson  <jas@extundo.com>
49617
49618         * lib/gc-gnulib.c: Support ARCFOUR.
49619
49620 2005-10-19  Simon Josefsson  <jas@extundo.com>
49621
49622         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49623         support.
49624
49625         * lib/gc.h: Add ECB enum type.
49626
49627         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49628
49629 2005-10-18  Simon Josefsson  <jas@extundo.com>
49630
49631         * tests/test-md5.c: New file.
49632
49633         * modules/md5-tests: New file.
49634
49635 2005-10-18  Simon Josefsson  <jas@extundo.com>
49636
49637         * tests/test-md4.c: New file.
49638
49639         * modules/md4, modules/md4-tests: New files.
49640
49641 2005-10-18  Simon Josefsson  <jas@extundo.com>
49642
49643         * m4/md4.m4: New file.
49644
49645 2005-10-18  Simon Josefsson  <jas@extundo.com>
49646
49647         * lib/md4.h, lib/md4.c: New files, based on md5.?.
49648
49649 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
49650
49651         * gnulib-tool (func_create_testdir): Omit the second check whether
49652         BUILT_SOURCES in nonempty.
49653
49654 2005-10-17  Simon Josefsson  <jas@extundo.com>
49655
49656         * tests/test-rijndael.c: New file.
49657
49658 2005-10-17  Simon Josefsson  <jas@extundo.com>
49659
49660         * modules/sha1: Depend on stdint instead of md5.
49661
49662         * modules/md5: Depend on stdint, remove uint32_t.
49663
49664 2005-10-17  Simon Josefsson  <jas@extundo.com>
49665
49666         * modules/gc-sha1-tests: New file.
49667
49668         * tests/test-gc-sha1.c: New file.
49669
49670 2005-10-17  Simon Josefsson  <jas@extundo.com>
49671
49672         * m4/md5.m4: Remove call to uint32_t.m4.
49673
49674 2005-10-17  Simon Josefsson  <jas@extundo.com>
49675
49676         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
49677
49678         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
49679         md5.h.
49680
49681         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
49682
49683         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
49684
49685 2005-10-17  Simon Josefsson  <jas@extundo.com>
49686
49687         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
49688
49689 2005-10-17  Simon Josefsson  <jas@extundo.com>
49690
49691         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
49692
49693 2005-10-17  Simon Josefsson  <jas@extundo.com>
49694
49695         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
49696
49697         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
49698
49699 2005-10-17  Bruno Haible  <bruno@clisp.org>
49700
49701         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
49702         that it can also be used in a test.
49703
49704 2005-10-16  Bruno Haible  <bruno@clisp.org>
49705
49706         * gnulib-tool (func_emit_tests_Makefile_am): Also define
49707         TESTS_ENVIRONMENT, so that individual tests can augment it.
49708
49709         * gnulib-tool (func_create_testdir): Use an intermediate target for
49710         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
49711         macros, like $(ALLOCA_H), which cannot be passed through the command
49712         line.
49713
49714 2005-10-15  Simon Josefsson  <jas@extundo.com>
49715
49716         * modules/rijndael-tests: New file.
49717
49718         * modules/rijndael: New file.
49719
49720 2005-10-15  Simon Josefsson  <jas@extundo.com>
49721
49722         * m4/rijndael.m4: New file.
49723
49724 2005-10-15  Simon Josefsson  <jas@extundo.com>
49725
49726         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
49727
49728         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
49729
49730 2005-10-14  Simon Josefsson  <jas@extundo.com>
49731
49732         * tests/test-arcfour.c: New file.
49733
49734         * modules/arcfour, modules/arcfour-tests: New files.
49735
49736 2005-10-14  Simon Josefsson  <jas@extundo.com>
49737
49738         * m4/arcfour.m4: New file.
49739
49740 2005-10-14  Simon Josefsson  <jas@extundo.com>
49741
49742         * lib/arcfour.h, lib/arcfour.c: New files.
49743
49744 2005-10-14  Roland McGrath  <roland@redhat.com>
49745
49746         Import from libc.  [BZ #1331]
49747         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
49748         macro argument.
49749         Reported by Matej Vela <vela@debian.org>.
49750
49751 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49752
49753         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
49754         include <wchar.h>; no longer needed.
49755
49756 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49757
49758         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
49759
49760 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
49761         and  Ulrich Drepper  <drepper@redhat.com>
49762
49763         Import from libc.
49764         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
49765         instead of inline stream orientation test and two separate
49766         function calls.  Pay no attention to USE_IN_LIBIO.
49767
49768 2005-10-13  Simon Josefsson  <jas@extundo.com>
49769
49770         * modules/gc-hmac-md5-tests: New file.
49771
49772         * tests/test-gc-hmac-sha1.c: New file.
49773
49774         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
49775
49776         * modules/gc-hmac-md5-tests: New file.
49777
49778         * tests/test-gc-md5.c: New file.
49779
49780         * modules/gc-md5-tests: New file.
49781
49782 2005-10-13  Simon Josefsson  <jas@extundo.com>
49783
49784         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
49785         Move memory allocation outside of loop.
49786
49787 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
49788
49789         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
49790         intermediate directory is in a read-only file system.  Problem
49791         reported by Eric Blake.
49792
49793 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
49794
49795         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
49796
49797 2005-10-12  Simon Josefsson  <jas@extundo.com>
49798
49799         * tests/test-hmac-sha1.c: New file.
49800
49801         * modules/hmac-sha1-tests: New file.
49802
49803         * modules/hmac-sha1: New file.
49804
49805 2005-10-12  Simon Josefsson  <jas@extundo.com>
49806
49807         * modules/gc-sha1: New file.
49808
49809 2005-10-12  Simon Josefsson  <jas@extundo.com>
49810
49811         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
49812
49813         * tests/test-gc-pbkdf2-sha1.c: New file.
49814
49815 2005-10-12  Simon Josefsson  <jas@extundo.com>
49816
49817         * modules/gc-md5, modules/gc-hmac-md5: New files.
49818
49819         * modules/gc (Files): Remove md5, memxor and hmac files.
49820
49821 2005-10-12  Simon Josefsson  <jas@extundo.com>
49822
49823         * m4/gc-pbkdf2-sha1.m4: New file.
49824
49825         * m4/gc-hmac-sha1.m4: New file.
49826
49827         * m4/gc-sha1: New file.
49828
49829         * m4/hmac-sha1.m4: New file.
49830
49831 2005-10-12  Simon Josefsson  <jas@extundo.com>
49832
49833         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
49834
49835         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
49836
49837 2005-10-12  Simon Josefsson  <jas@extundo.com>
49838
49839         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
49840         suggested by Bruno Haible <bruno@clisp.org>.
49841
49842 2005-10-12  Simon Josefsson  <jas@extundo.com>
49843
49844         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
49845
49846 2005-10-12  Simon Josefsson  <jas@extundo.com>
49847
49848         * lib/gc-pbkdf2-sha1.c: New file.
49849
49850         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
49851
49852 2005-10-12  Simon Josefsson  <jas@extundo.com>
49853
49854         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
49855
49856         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
49857
49858 2005-10-12  Simon Josefsson  <jas@extundo.com>
49859
49860         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
49861         GC_USE_HMAC_MD5, respectively.
49862
49863         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
49864         (gc_md5): Fix typo.
49865
49866         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
49867
49868         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
49869
49870         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
49871
49872 2005-10-12  Bruno Haible  <bruno@clisp.org>
49873
49874         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
49875         Reported by Stepan Kasal <kasal@ucw.cz>.
49876
49877 2005-10-11  Simon Josefsson  <jas@extundo.com>
49878
49879         * tests/test-crc.c: New file.
49880
49881         * modules/crc, modules/crc-tests: New files.
49882
49883 2005-10-11  Simon Josefsson  <jas@extundo.com>
49884
49885         * m4/crc.m4: New file.
49886
49887 2005-10-11  Simon Josefsson  <jas@extundo.com>
49888
49889         * lib/gc.h: Add gc_hash and gc_hash_buffer.
49890
49891         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
49892
49893         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
49894
49895 2005-10-11  Simon Josefsson  <jas@extundo.com>
49896
49897         * lib/crc.h, lib/crc.c: New files.
49898
49899         * lib/gc.h (gc_hash_buffer): Add doc.
49900
49901 2005-10-11  Bruno Haible  <bruno@clisp.org>
49902
49903         * modules/c-strcasestr: New file.
49904         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
49905
49906 2005-10-11  Bruno Haible  <bruno@clisp.org>
49907
49908         * modules/c-strcase: New file.
49909         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
49910
49911 2005-10-11  Bruno Haible  <bruno@clisp.org>
49912
49913         * lib/strcasecmp.c: Include limits.h.
49914         (strcasecmp): Avoid integer overflow on exotic platforms.
49915         * lib/strncasecmp.c: Include limits.h.
49916         (strncasecmp): Avoid integer overflow on exotic platforms.
49917         Reported by Paul Eggert.
49918
49919 2005-10-11  Bruno Haible  <bruno@clisp.org>
49920
49921         * lib/c-strcasestr.h: New file, from GNU gettext.
49922         * lib/c-strcasestr.c: New file, from GNU gettext.
49923
49924 2005-10-11  Bruno Haible  <bruno@clisp.org>
49925
49926         * lib/c-strcase.h: New file, from GNU gettext.
49927         * lib/c-strcasecmp.c: New file, from GNU gettext.
49928         * lib/c-strncasecmp.c: New file, from GNU gettext.
49929
49930 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49931
49932         * modules/mempcpy (License): GPL -> LGPL.
49933         * modules/strchrnul (License): Likewise.
49934         * modules/sysexits (License): Likewise.
49935
49936 2005-10-08  Simon Josefsson  <jas@extundo.com>
49937
49938         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
49939
49940 2005-10-07  Simon Josefsson  <jas@extundo.com>
49941
49942         * m4/memxor.m4: Remove gl_C_RESTRICT call.
49943
49944 2005-10-06  Simon Josefsson  <jas@extundo.com>
49945
49946         * tests/test-hmac-md5.c: New file.
49947
49948         * modules/hmac-md5-tests: New file.
49949
49950         * modules/hmac-md5: New file.
49951
49952 2005-10-06  Simon Josefsson  <jas@extundo.com>
49953
49954         * m4/hmac-md5.m4: New file.
49955
49956         * m4/memxor.m4: Require gl_C_RESTRICT.
49957
49958 2005-10-06  Simon Josefsson  <jas@extundo.com>
49959
49960         * lib/memxor.c (memxor): Avoid casts and warnings.
49961
49962 2005-10-06  Simon Josefsson  <jas@extundo.com>
49963
49964         * lib/hmac-md5.c: New file.
49965
49966         * lib/hmac.h: New file.
49967
49968 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
49969
49970         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
49971         promotes to int, not unsigned int, to catch the AIX 5.3
49972         compiler bug.
49973
49974 2005-10-05  Simon Josefsson  <jas@extundo.com>
49975
49976         * modules/memxor: New file.
49977
49978         * modules/iconv (Files): Move config.rpath to havelib, it is used
49979         there.
49980
49981         * modules/havelib (Files): Add config.rpath.
49982
49983 2005-10-05  Simon Josefsson  <jas@extundo.com>
49984
49985         * m4/memxor.m4: New file.
49986
49987 2005-10-05  Simon Josefsson  <jas@extundo.com>
49988
49989         * lib/memxor.c (memxor): Fix compiler error.
49990
49991         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
49992         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
49993
49994         * lib/memxor.h, lib/memxor.c: New files.
49995
49996         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
49997         we assume all systems have it, suggested by Jim Meyering
49998         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
49999         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50000         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50001         same reasons.
50002
50003 2005-10-05  Simon Josefsson  <jas@extundo.com>
50004
50005         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50006
50007 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50008
50009         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50010         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50011         needed, since the source code now assumes these .h files.
50012
50013 2005-10-05  Derek Price  <derek@ximbiot.com>
50014
50015         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50016
50017 2005-10-05  Bruno Haible  <bruno@clisp.org>
50018
50019         * modules/stdint (License): Change to LGPL.
50020
50021 2005-10-04  Simon Josefsson  <jas@extundo.com>
50022
50023         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50024         D. Baushke" <mdb@gnu.org>.
50025
50026 2005-10-04  Bruno Haible  <bruno@clisp.org>
50027
50028         * lib/verify.h (verify_true): Provide alternative definition for C++.
50029
50030 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50031
50032         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50033         (SSIZE_MAX): New macro, if not already defined.
50034         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50035         than 2 GiB.
50036
50037 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50038
50039         Sync from coreutils.
50040         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50041         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50042         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50043         ULLONG_MAX doesn't work with 2.7.2.1.
50044
50045 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50046
50047         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50048         From Ben Pfaff.
50049
50050         * modules/exclude (Depends-on): Depend on verify.
50051         * modules/strtoimax (Depends-on): Likewise.
50052         * modules/utimecmp (Depends-on): Likewise.
50053
50054 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50055
50056         * lib/exclude.c: Include verify.h.
50057         (verify): Remove.  All callers changed to use verify.h's version.
50058         * lib/strtoimax.c: Likewise.
50059         * lib/utimecmp.c: Likewis.e
50060
50061         Sync from coreutils.
50062         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50063         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50064         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50065         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50066         bother returning ENOSYS if settimeofday or stime fails; just let
50067         them return whatever errno they want to return.
50068         * lib/utimens.c: Include unistd.h, for dup2.
50069         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50070         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50071
50072 2005-10-02  Jim Meyering  <jim@meyering.net>
50073
50074         Sync from coreutils.
50075         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50076         from glibc-2.2.5 that fails for read-only files.
50077
50078 2005-10-02  Jim Meyering  <jim@meyering.net>
50079
50080         Sync from coreutils.
50081         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50082         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50083         `#if HAVE_CONFIG_H'.
50084         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50085         Remove AT_FDCWD test.
50086         Do not consume the fd unless successful.
50087         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50088         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50089         block, so that we don't even try to compile it if settimeofday is
50090         available.  This works around a compilation failure on OSF1 V5.1,
50091         due to stime requiring a `long int*' while tv_sec is `int'.
50092
50093 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50094
50095         Sync from coreutils.
50096         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50097         against `yes', rather than just testing for nonempty.
50098
50099 2005-10-01  Simon Josefsson  <jas@extundo.com>
50100
50101         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50102         and Darwin.
50103
50104         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50105         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50106         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50107         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50108         Check if struct addrinfo is declared.
50109
50110 2005-10-01  Simon Josefsson  <jas@extundo.com>
50111
50112         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50113         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50114         AI_* and EAI_* definitions.  Protect function declarations.
50115
50116 2005-10-01  Jim Meyering  <jim@meyering.net>
50117
50118         Sync from coreutils.
50119
50120         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50121         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50122         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50123         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50124         in the inet and nsl libraries.  Required on Solaris 5.7.
50125
50126 2005-10-01  Jim Meyering  <jim@meyering.net>
50127
50128         Sync from coreutils.
50129         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50130         in the inet and nsl libraries.  Required on Solaris 5.7.
50131
50132 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50133
50134         * lib/getdelim.c (getdelim): Remove unused variables.
50135
50136 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50137
50138         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50139         so that the code works even with ancient cpp.  Portability problem
50140         with GCC 2.7.2.1 reported by Thomas M.Ott.
50141
50142 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50143
50144         * modules/regex (Depends-on): Add strcase.
50145
50146         * modules/gethostname (Licence): Change from GPL to LGPL, since
50147         gethostname.c is a trivial implementation of a standard library
50148         function.
50149         * modules/poll (License): Change from GPL to LGPL, since it's
50150         derived from LGPL code.
50151
50152 2005-09-27  Jim Meyering  <jim@meyering.net>
50153
50154         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50155         HAVE_CONFIG_H.
50156
50157         * lib/intprops.h (signed_type_or_expr__): Define.
50158         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
50159         for unsigned types.
50160
50161 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50162
50163         * lib/verify.h (verify_expr): Remove, replacing with:
50164         (verify_true): New macro that returns true instead of void.
50165         (verify_type__): Remove.
50166         (verify): Use verify_true rather than verify_type__.
50167
50168 2005-09-26  Bruno Haible  <bruno@clisp.org>
50169
50170         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
50171         is necessary.
50172         (lib_SOURCES): Remove mbchar.c.
50173         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
50174         (Files): Add m4/mbrtowc.m4.
50175         * modules/mbiter: Likewise.
50176         * modules/mbuiter: Likewise.
50177
50178 2005-09-26  Bruno Haible  <bruno@clisp.org>
50179
50180         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
50181         compile mbchar.c if they are not both present.
50182         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
50183         * m4/mbiter.m4 (gl_MBITER): Likewise.
50184         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
50185         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
50186         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50187
50188 2005-09-25  Jim Meyering  <jim@meyering.net>
50189
50190         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50191         also uses socklen_t.
50192
50193 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50194
50195         * lib/utimens.c (ENOSYS): Define if not already defined.
50196         (futimens): Support having a null PATH if the file descriptor
50197         is nonnegative.
50198
50199         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50200         Remove.
50201         (__attribute): Define to empty unless GCC 3.1 or later.
50202         This works around a core dump on OpenBSD 3.4, which has GCC
50203         2.95.3, which dumps core when given __attribute__(()).  It also
50204         simplifies other tests, since we really don't want to bother with
50205         worrying about which ancient version of GCC supported what.
50206         Original problem reported by Yoann Vandoorselaere, with part of
50207         the fix suggested by Derek Price.
50208
50209 2005-09-24  Jim Meyering  <jim@meyering.net>
50210
50211         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50212         so we can once again use a positive bitfield width of 1 -- now we
50213         don't have to explain why we were using a bitfield width of 2.
50214
50215 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50216
50217         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50218         and similarly for the other external symbols.  Problem reported
50219         by James Gallager.
50220
50221         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50222         bug reported by Jim Meyering.
50223
50224         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50225         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50226         not needed, since socklen is a prerequisite module.
50227
50228 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50229
50230         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50231         Problem reported by Eric Blake.
50232         (getaddrinfo): Initialize se so that it's not garbage.
50233         Redo internal storage allocation so that it doesn't make unportable
50234         assumptions about alignment.
50235         Fix a memory leak.
50236
50237         * lib/utimens.c (futimens): Use futimesat if available.
50238         Prefer it to futimes since it doesn't have the futimes bug.
50239
50240         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50241         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50242         Instead, declare a function that returns a pointer to an array,
50243         and use verify_type__ to declare the size of the array.
50244         Problem and germ of a solution reported by Bruno Haible.
50245         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50246         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50247
50248 2005-09-23  Jim Meyering  <jim@meyering.net>
50249
50250         Sync from coreutils.
50251         Correct build failure (socklen_t not defined) on at least
50252         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50253         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50254
50255 2005-09-23  Jim Meyering  <jim@meyering.net>
50256
50257         * modules/getaddrinfo (Depends-on): Add socklen.
50258
50259 2005-09-23  Bruno Haible  <bruno@clisp.org>
50260
50261         * tests/test-verify.c: New file.
50262
50263 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50264
50265         Sync from coreutils.
50266
50267         * modules/argmatch (Depends-on): Add verify.
50268         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50269         unistd-safer.
50270         * modules/save-cwd (Depends-on): Likewise.
50271
50272         * modules/openat (Files): Add lib/openat-die.c.
50273         (Depends-on): Remove error, exitfail.
50274         Add dirname.
50275
50276         * modules/verify: New file.
50277         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50278         with "verify" module.
50279
50280 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50281
50282         Sync from coreutils.
50283
50284         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50285         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50286         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50287         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50288         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50289         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50290         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50291         Don't bother checking for string.h, stdlib.h, unistd.h.
50292         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50293         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50294         module's job.
50295         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50296         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50297
50298         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50299         (gl_GETDATE): Use it.
50300
50301         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50302
50303 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50304
50305         Sync from coreutils.
50306
50307         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50308         stat-time.h.
50309         * lib/argmatch.h: Include verify.h
50310         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50311         (ARGMATCH_ASSERT): Remove; unused.
50312         * lib/canonicalize.c: Assume STDC_HEADERS.
50313         * lib/exclude.c: Include "strcase.h".
50314         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50315         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50316         and stdio-safer.h.
50317         (getusershell): Call fopen, not fopen_safer.
50318         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50319         Do not include unistd-safer.h.
50320         (save_cwd): Don't call fd_safer; no longer needed
50321         now that we include fcntl--.h.
50322
50323         * lib/getdate.y (relative_time): New type.
50324         (RELATIVE_TIME_0): New constant.
50325         (parser_control): Use relative_time instead of doing it ourselves.
50326         (%union): Add new relative_time rel member.
50327         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50328         Now typeless.
50329         (relunit, relunit_snumber): Now of type rel.
50330         (zone, rel, relunit, get_date): Adjust to above changes.
50331
50332         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50333         Do not include unistd-safer.h.
50334         (getloadavg): Don't call fd_safer; no longer needed
50335         now that we include fcntl--.h.
50336
50337         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50338         (make_dir_parents): Treat ENOSYS like EEXIST.
50339
50340         Improve quality of diagnostics on restore_cwd failure.
50341         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50342         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50343         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50344         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50345         each time through the loop.  Do not diagnose restore_cwd failure;
50346         that is the caller's job (and perhaps the caller does not care).
50347
50348         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50349         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50350         If the file already exists but is not a directory, don't bother
50351         to try to make its parents.
50352         Close potential file descriptor leak if we can't chdir("/") (!).
50353         Don't always return true if chdir($PWD) fails; return true only
50354         if the requested action was done successfully (except for the
50355         chdir($PWD)).
50356         Don't log final directory unless we actually made it.
50357         Refactor to avoid duplicate code to fix up permissions.
50358         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50359
50360         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50361         to make it a bit faster and (I hope) clearer.
50362         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50363         Fix bug in formats like %2N.
50364
50365         * lib/verify.h: New file.
50366
50367 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50368
50369         Sync from coreutils.
50370         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50371
50372 2005-09-22  Jim Meyering  <jim@meyering.net>
50373
50374         Sync from coreutils.
50375
50376         * m4/lstat.m4 (gl_FUNC_LSTAT):
50377         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50378         Remove obsolete comment.
50379         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50380         * m4/xstrtod.m4: Likewise.
50381
50382         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50383
50384 2005-09-22  Jim Meyering  <jim@meyering.net>
50385
50386         Sync from coreutils.
50387
50388         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50389
50390         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50391         the .tm_year member, since otherwise gcc-4.0 would now warn about
50392         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50393
50394         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50395         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50396
50397         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50398         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50399         when run in a time zone for which daylight savings time is in effect
50400         for the starting date.
50401
50402         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50403         stop us from restricting permissions of just-created absolute-named
50404         directories.
50405         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50406         to restore initial working directory.
50407         * lib/mkdir-p.c (make_dir_parents): New parameter:
50408         different_working_dir, to tell caller if/when we change the working
50409         directory and are unable to return to the initial one.
50410         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50411         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50412         `return false'.  This fixes a bug introduced on 2004-07-30.
50413
50414         * lib/openat.c (fdopendir): Be sure to close the supplied
50415         file descriptor before returning.  This makes our replacement
50416         implementation a little closer to Solaris's, where fdopendir
50417         ties the file descriptor to the returned DIR* pointer.
50418         * lib/openat.c (unlinkat): New function.
50419         * lib/openat.h (unlinkat): Add prototype.
50420         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50421         (openat_restore_fail): Rename from openat_restore_die.
50422         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50423
50424         Provide an alternative to exiting immediately upon save_cwd or
50425         restore_cwd failure.  Now, an application can arrange e.g.,
50426         to perform a longjump in that case.
50427         * lib/openat.c: Include dirname.h.
50428         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50429         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50430         and openat_restore_die rather than calling error directly.
50431         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50432
50433         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50434         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50435         define.
50436
50437         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50438         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50439                             int utc, int nanoseconds);
50440         Background:
50441         date should not have to allocate a megabyte of virtual memory to
50442         handle a format argument like +%1048575T.  When implemented with
50443         strftime, it must allocate such a buffer, use strftime to fill it
50444         in, print it, then free it.
50445         With fprintftime, it simply prints everything and exits.
50446         With no need for memory allocation, that's one fewer way to fail.
50447         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50448         optional field width, not before, so we accept %9:z, not %:9z.
50449         (my_strftime): Be sure to use L_('x') for literals.
50450
50451         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50452         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50453         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50454         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50455         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50456         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50457         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50458         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50459         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50460         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50461         * lib/xgethostname.c, lib/xreadlink.c:
50462         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50463
50464         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50465         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50466         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50467         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50468         and don't include <sys/file.h>).
50469
50470 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50471
50472         Sync from coreutils.
50473
50474         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50475         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50476         [!LDAV_DONE]: Avoid unused variable warning.
50477
50478 2005-09-21  Bruno Haible  <bruno@clisp.org>
50479
50480         * lib/unicodeio.h (unicode_to_mb): New declaration.
50481
50482 2005-09-20  Derek Price  <derek@ximbiot.com>
50483
50484         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50485         getaddrinfo.h.
50486
50487 2005-09-20  Bruno Haible  <bruno@clisp.org>
50488
50489         * gnulib-tool: Remove trailing slashes from the values specified for
50490         --source-base, --m4-base, --tests-base, --aux-dir.
50491         Suggested by Simon Josefsson <jas@extundo.com>.
50492
50493 2005-09-20  Bruno Haible  <bruno@clisp.org>
50494
50495         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50496         func_modules_to_filelist, func_import, func_create_testdir): Make all
50497         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50498         change when gnulib-tool is invoked in a different locale.
50499
50500 2005-09-19  Simon Josefsson  <jas@extundo.com>
50501
50502         * m4/socklen.m4: Fix typo.
50503
50504 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50505
50506         Use a consistent style for including <config.h>.
50507         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50508         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50509         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50510         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50511         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50512         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50513         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50514         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50515         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50516         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50517         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50518         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50519         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50520         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50521         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50522         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50523         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50524         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50525         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50526         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50527         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50528         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50529         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50530         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50531         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50532         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50533         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50534         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50535         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50536         lib/xstrtoumax.c, lib/yesno.c:
50537         Standardize inclusion of config.h.
50538         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50539         lib/inttostr.h:  Removed inclusion of config.h from header files.
50540         * lib/inttostr.c:  Adjusted in-tree users.
50541         * lib/timespec.h: Remove superfluous warning to include config.h.
50542         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50543         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50544         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50545         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50546         config.h with HAVE_CONFIG_H.
50547
50548 2005-09-19  Jim Meyering  <jim@meyering.net>
50549
50550         * modules/pathmax (License): Change to LGPL.
50551
50552 2005-09-19  Derek Price  <derek@ximbiot.com>
50553
50554         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50555
50556 2005-09-19  Bruno Haible  <bruno@clisp.org>
50557
50558         * gnulib-tool (import): Provide default for --tests-base.
50559
50560 2005-09-19  Bruno Haible  <bruno@clisp.org>
50561
50562         * doc/quote.texi: New file, extracted from gnulib.texi.
50563         * doc/ctime.texi: New file, extracted from gnulib.texi.
50564         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50565         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50566         * doc/gnulib.texi: Include them.
50567
50568 2005-09-18  Bruno Haible  <bruno@clisp.org>
50569
50570         Portability fix.
50571         * gnulib-tool (func_readlink): New function.
50572         (func_ln_if_changed): Use it.
50573
50574 2005-09-18  Bruno Haible  <bruno@clisp.org>
50575
50576         * gnulib-tool: Support --with-tests also with --import.
50577         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50578         (func_import): Use variables $testsbase and $inctests. Emit a
50579         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50580         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50581         SUBDIRS += $testsdir.
50582         (func_create_testdir): Update.
50583
50584 2005-09-18  Bruno Haible  <bruno@clisp.org>
50585
50586         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50587         instead of $dry_run.
50588         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50589         (func_ln_if_changed): Don't handle dry-run here.
50590         (func_import): In dry-run mode, detect more precisely which actions
50591         would be performed, and don't use "...ing" verbs.
50592
50593 2005-09-18  Bruno Haible  <bruno@clisp.org>
50594
50595         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50596         (func_import): Use join on two temporary files instead of three nested
50597         loops, in order to determine which files are new or old.
50598
50599 2005-09-18  Bruno Haible  <bruno@clisp.org>
50600
50601         * gnulib-tool (func_import): Comment out code that spits out the
50602         new files with --dry-run.
50603
50604 2005-09-18  Bruno Haible  <bruno@clisp.org>
50605
50606         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50607
50608 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50609
50610         * lib/stat-time.h: New file.
50611         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50612         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50613         in a different way.
50614         (timespec_cmp): New function.
50615         * lib/utimecmp.c: Include stat-time.h.
50616         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50617         members exist, not on the obsolescent ST_MTIM_NSEC.
50618         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50619
50620 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50621
50622         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50623
50624 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50625
50626         * MODULES.html.sh (File system functions): Add stat-time.
50627         * modules/stat-time: New file.
50628         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50629         is now done in a different way, by the stat-time module.
50630         * modules/utimecmp (Depends-on): Add stat-time.
50631
50632 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50633
50634         * m4/st_mtim.m4: Remove.  Superseded by...
50635         * m4/stat-time.m4: New file.
50636         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50637         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50638
50639 2005-09-15  Derek Price  <derek@ximbiot.com>
50640
50641         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
50642
50643 2005-09-15  Derek Price  <derek@ximbiot.com>
50644
50645         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
50646         * lib/regex_internal.c: Ditto, using this...
50647         (__GNUC_PREREQ): ...new macro.
50648         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
50649         using...
50650         (__GNUC_PREREQ): ...this new macro.
50651
50652         * lib/strstr.h: Include string.h. Define strstr as a macro here.
50653
50654 2005-09-15  Derek Price  <derek@ximbiot.com>
50655             Paul Eggert  <eggert@cs.ucla.edu>
50656
50657         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
50658         changes, consolidating in...
50659         * lib/regex_internal.h: ...this file.
50660
50661 2005-09-13  Jim Meyering  <jim@meyering.net>
50662
50663         * lib/canon-host.c: Filter through gnu indent and reword comments
50664         slightly.
50665         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
50666
50667 2005-09-13  Derek Price  <derek@ximbiot.com>
50668
50669         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
50670         failure.
50671         Reported by Jim Meyering  <jim@meyering.net>.
50672
50673 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50674
50675         * lib/base64.c: Typo.
50676         (base64_encode): Put b64str in initialized data section.
50677
50678 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
50679
50680         Merge glibc and coreutils changes into gnulib, plus a few
50681         extra fixes.
50682         * lib/md5.c: Use #error rather than a string.
50683         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
50684         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
50685         (__attribute__): Define to empty for non recent-GCC.
50686         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
50687         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
50688         Renamed from their non-__ counterparts, with new macros replacing
50689         them if not _LIBC.  Add __THROW attribute.
50690         (rol): Remove.
50691         (struct md5_ctx): Align buffer if using GCC.
50692         * lib/sha1.h (struct sha1_ctx): Likewise.
50693         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
50694         The old name was backwards.
50695         (NOTSWAP): Remove; not used.
50696         (rol): New macro, moved here from md5.h.
50697         (sha1_process_block): Remove a FIXME that doesn't make sense.
50698
50699 2005-09-12  Derek Price  <derek@ximbiot.com>
50700
50701         Return usable errors from canon-host.
50702         * lib/canon-host.h: New file.
50703         * lib/canon-host.c (canon_host): Wrap...
50704         (canon_host_r): ...this new function, which now relies exclusively on
50705         getaddrinfo.
50706         (ch_strerror): New function.
50707         (last_cherror): New global.
50708         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
50709         interface.
50710         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
50711         void *.
50712         (freeaddrinfo): Free ai->ai_canonname when set.
50713
50714 2005-09-12  Derek Price  <derek@ximbiot.com>
50715
50716         Make canon-host require getaddrinfo.
50717         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
50718         AC_LIBSOURCE canon-host.h.  Call...
50719         (gl_PREREQ_CANON_HOST): ...this new function, which requires
50720         gl_GETADDRINFO.
50721         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
50722
50723 2005-09-12  Derek Price  <derek@ximbiot.com>
50724
50725         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
50726         LGPL.
50727         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
50728
50729 2005-09-12  Derek Price  <derek@ximbiot.com>
50730
50731         * lib/gai_strerror.c: Include config.h when available.  Include
50732         getaddrinfo.h before other headers to test interface.
50733         Reported by Larry Jones <lawrence.jones@ugs.com>.
50734
50735 2005-09-12  Derek Price  <derek@ximbiot.com>
50736             Paul Eggert  <eggert@cs.ucla.edu>
50737
50738         * modules/glob (Files): Add glob-libc.h.
50739
50740 2005-09-12  Derek Price  <derek@ximbiot.com>
50741             Paul Eggert  <eggert@cs.ucla.edu>
50742
50743         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
50744         glob_.h, glob-libc.h.
50745         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
50746
50747 2005-09-12  Derek Price  <derek@ximbiot.com>
50748             Paul Eggert  <eggert@cs.ucla.edu>
50749
50750         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
50751         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
50752         protecting things that should be done only in gnulib contexts.
50753         * lib/glob_.h: New file, containing only the glob things needed for
50754         gnulib.
50755         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
50756         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
50757         (glob, globfree, glob_pattern_p): Now defined simply in terms of
50758         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
50759         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
50760         and to respect the namespace rules better.
50761
50762 2005-09-08  Simon Josefsson  <jas@extundo.com>
50763
50764         * modules/socklen: New file.
50765
50766 2005-09-08  Simon Josefsson  <jas@extundo.com>
50767
50768         * m4/socklen.m4: New file.
50769
50770 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50771
50772         * modules/utimens (Files): Add m4/utimbuf.m4, since
50773         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
50774         Reported by Sergey Poznyakoff.
50775
50776 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50777
50778         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
50779         definitions, since that's the preferred style in glibc.
50780         Fix a minor spacing issue, and update copyright notice to match
50781         glibc's.
50782
50783 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50784
50785         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
50786
50787 2005-09-06  Simon Josefsson  <jas@extundo.com>
50788
50789         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
50790         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
50791
50792 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50793
50794         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
50795         warning.
50796
50797 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50798
50799         * config/srclist.txt: Add glibc bug 1302.
50800
50801 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50802
50803         Change bitset word type from unsigned int to unsigned long int,
50804         as this has better performance on typical 64-bit hosts.
50805         Port bitset code to hosts with unusual word sizes.
50806         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
50807         (build_collating_symbol):
50808         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
50809         argument is a bitset.  This is merely a style issue, but it makes
50810         it clearer that an entire array is expected.
50811         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
50812         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
50813         Port to the case where bitset_word is not the same as unsigned int.
50814         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
50815         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
50816         Likewise.
50817         * lib/regexec.c (check_dst_limits_calc_pos_1,
50818         check_subexp_matching_top):
50819         (build_trtable, group_nodes_into_DFAstates):
50820         Likewise.
50821         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
50822         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
50823         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
50824         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
50825         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
50826         * lib/regcomp.c (optimize_subexps, lower_subexp):
50827         Work even if bitset_word has holes in its bitwise representation.
50828         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
50829         * lib/regexec.c (check_dst_limits_calc_pos_1,
50830         check_subexp_matching_top):
50831         Likewise.
50832         * lib/regex_internal.c (re_string_reconstruct):
50833         Don't assume UCHAR_MAX == 255.
50834         * lib/regex_internal.h (bitset_set_all): Likewise.
50835         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
50836         All uses changed.
50837         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
50838         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
50839         All uses changed.
50840         (BITSET_WORD_MAX): New macro.
50841         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
50842         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
50843         (bitset_empty, bitset_copy):
50844         Prefer sizeof (bitset) to multiplying it out ourselves.
50845         (bitset_not_merge): Remove; unused.
50846         (bitset_contain): Return bool, not unsigned int with one bit on.
50847         All callers changed.
50848         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
50849         alignment than re_node_set; do this by defining a new internal
50850         type struct dests_alloc and using it to allocate memory.
50851
50852 2005-09-05  Bruno Haible  <bruno@clisp.org>
50853
50854         * gnulib-tool (func_import): Fix comparison in handling of symbolic
50855         links.
50856
50857 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
50858
50859         * modules/size_max (Makefile.am): Add size_max.h
50860
50861 2005-09-04  Derek Price  <derek@ximbiot.com>
50862
50863         * gnulib-tool (func_import): Fix reversed $symbolic logic.
50864
50865 2005-09-03  Simon Josefsson  <jas@extundo.com>
50866
50867         * gnulib-tool: Fix typo.
50868
50869 2005-09-03  Simon Josefsson  <jas@extundo.com>
50870
50871         * config/srclist.txt: Add glibc bug 1293.
50872
50873 2005-09-03  Derek Price  <derek@ximbiot.com>
50874
50875         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
50876         From Larry Jones <lawrence.jones@ugs.com>.
50877
50878 2005-09-02  Simon Josefsson  <jas@extundo.com>
50879
50880         * modules/socklen: New file.
50881
50882 2005-09-02  Simon Josefsson  <jas@extundo.com>
50883
50884         * modules/havelib: New module.
50885
50886         * modules/gettext, modules/iconv, modules/lock, modules/readline:
50887         Use havelib.
50888
50889 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50890
50891         Check for arithmetic overflow when calculating sizes, to prevent
50892         some buffer-overflow issues.  These patches are conservative, in the
50893         sense that when I couldn't determine whether an overflow was possible,
50894         I inserted a run-time check.
50895         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
50896         macros.
50897         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
50898         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
50899         (re_xnrealloc, re_x2nrealloc): New inline functions.
50900         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
50901         parse_bracket_exp):
50902         (build_equiv_class, build_charclass): Check for arithmetic overflow
50903         in size expression calculations.
50904         * lib/regex_internal.c (re_string_realloc_buffers):
50905         (build_wcs_upper_buffer, re_node_set_add_intersect):
50906         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
50907         (re_dfa_add_node, register_state): Likewise.
50908         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
50909         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
50910         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
50911         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
50912
50913 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50914
50915         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
50916         m4/ulonglong.m4.  Problem reported by Martin Lambers.
50917
50918 2005-09-02  Bruno Haible  <bruno@clisp.org>
50919
50920         Support for lib vs. lib64 distinction on biarch platforms.
50921         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
50922         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
50923         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
50924
50925 2005-09-02  Bruno Haible  <bruno@clisp.org>
50926
50927         * gnulib-tool (import): In the other first-use case, provide defaults
50928         as well.
50929
50930 2005-09-02  Bruno Haible  <bruno@clisp.org>
50931
50932         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
50933         patches not yet found in the latest gettext release.
50934
50935 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50936
50937         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
50938         to avoid a collision with bits/local_lim.h in glibc.
50939         All uses changed.  Problem reported by Dmitry V. Levin in
50940         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
50941
50942         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
50943         bugs in int versus size_t comparisons.
50944         (re_string_context_at): Fix bug where the code assumed that
50945         Idx is signed.
50946
50947         Use bool where appropriate.
50948         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
50949         All callers changed.
50950         (calc_eclosure_iter): Likewise, for ROOT arg.
50951         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
50952         (build_charclass_op): Likewise, for NON_MATCH arg.
50953         * lib/regex_internal.c (re_string_allocate, re_string_construct):
50954         (re_string_construct_common): Likewise, for ICASE arg.
50955         * lib/regexec.c (re_search_2_stub, re_search_stub):
50956         Likewise, for RET_LEN arg.
50957         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
50958         (set_regs): Likewise, for FL_BACKTRACK arg.
50959         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
50960         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
50961         (calc_eclosure_iter, parse_bracket_exp):
50962         Use bool for internal variables that are booleans.
50963         * lib/regexec.c (re_search_internal, check_matching,
50964         proceed_next_node):
50965         (set_regs, build_sifted_states, sift_states_bkref):
50966         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
50967         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
50968         (find_collation_sequence_value):
50969         Likewise.
50970         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
50971         (re_node_set_compare):
50972         Return bool, not int. All callers changed.
50973         * lib/regexec.c (check_halt_node_context, check_dst_limits):
50974         (build_trtable, check_node_accept): Likewise.
50975         * lib/regex_internal.h: Include stdbool.h.
50976
50977         Fix bugs uncovered when converting to bool.
50978         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
50979         failure instead of charging ahead blindly.
50980         * lib/regex_internal.c (register_state): Likewise.
50981         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
50982         for freeing internal storage.
50983         (group_nodes_into_DFA_states): Use unsigned int, not int, for
50984         bitset pieces used as boolean, to avoid undefined behavior
50985         on hosts that do int overflow checking.
50986
50987 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50988
50989         * config/srclist.txt: Add glibc bugs 1285-1287.
50990
50991 2005-09-01  Jim Meyering  <jim@meyering.net>
50992
50993         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
50994         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
50995         Require gl_STAT_MACROS, too.
50996
50997 2005-09-01  Bruno Haible  <bruno@clisp.org>
50998
50999         * gnulib-tool (import): In the first-use case, provide defaults.
51000
51001 2005-09-01  Bruno Haible  <bruno@clisp.org>
51002
51003         * gnulib-tool (func_import): Remove the .tmp files.
51004
51005 2005-09-01  Bruno Haible  <bruno@clisp.org>
51006
51007         * gnulib-tool (func_import): Fix handling of symbolic links.
51008
51009 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51010
51011         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51012         old glibc regex code mishandles strings longer than 2**31 bytes.
51013         This patch fixes this when the regex code is used in gnulib
51014         (i.e., outside glibc).
51015
51016         This patch should not affect the use of the regex code inside
51017         glibc.  No doubt this problem also needs to be handled for glibc
51018         as well, but the result will be an incompatible change to the
51019         glibc ABI, and the old ABI will have to be supported too.  That
51020         can be the the subject for another patch.
51021
51022         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51023         governing whether the rest of this patch is active.  By default,
51024         the macro is disabled and the patch has no effect.
51025         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51026         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51027         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51028         (re_match_2, re_set_registers): Use the new types.
51029         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51030         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51031         New macros.
51032         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51033         (re_string_context_at, bin_tree_t, re_dfastate_t):
51034         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51035         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51036         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51037         (re_string_char_size_at, re_string_wchar_at):
51038         (re_string_elem_size_at):
51039         Use the new types and macros to port to 64-bit hosts.
51040         Use unsigned types for internal values, so that the code
51041         mostly works even for arrays larger than SSIZE_MAX.
51042         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51043         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51044         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51045         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51046         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51047         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51048         (calc_inveclosure, parse_dup_op, build_range_exp):
51049         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51050         (fetch_number, create_token_tree, mark_opt_subexp):
51051         Likewise.
51052         * lib/regex_internal.c (re_string_construct_common,
51053         create_ci_newstate):
51054         (create_cd_newstate, re_string_allocate, re_string_construct):
51055         (re_string_realloc_buffers, build_wcs_upper_buffer):
51056         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51057         (re_string_reconstruct, re_string_peek_byte_case):
51058         (re_string_fetch_byte_case, re_string_context_at):
51059         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51060         (re_node_set_init_copy, re_node_set_add_intersect):
51061         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51062         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51063         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51064         (re_acquire_state, re_acquire_state_context, register_state):
51065         Likewise.
51066         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51067         search_cur_bkref_entry):
51068         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51069         (re_search_internal, re_search_2_stub, re_search_stub)
51070         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51071         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51072         (update_cur_sifted_state, check_dst_limits):
51073         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51074         (check_subexp_limits, sift_states_bkref, merge_state_array):
51075         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51076         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51077         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51078         (expand_bkref_cache, check_node_accept_bytes):
51079         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51080         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51081         (acquire_init_state_context, check_halt_node_context):
51082         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51083         (sift_states_backward, clean_state_log_if_needed):
51084         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51085         (find_recover_state, transit_state_sb, transit_state_mb):
51086         (transit_state_bkref, build_trtable, match_ctx_clean):
51087         Likewise.
51088         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51089         to work around an assumption that REG_MISSING is negative.
51090
51091         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51092         (seek_collating_symbol_entry) [defined _LIBC]:
51093         (lookup_collation_sequence_value) [defined _LIBC]:
51094         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51095         Use prototypes rather than old-style function definitions.
51096         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51097         (transit_state_sb) [0]:
51098         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51099
51100         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51101         rm_eo.
51102
51103         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51104         (optimize_subexps, lower_subexp):
51105         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51106         since the signed shift might overflow.  Use 1u<<31 instead.
51107         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51108         Likewise.
51109         * lib/regexec.c (check_dst_limits_calc_pos_1,
51110         check_subexp_matching_top): Likewise.
51111
51112         * lib/regcomp.c (optimize_subexps, lower_subexp):
51113         Use CHAR_BIT rather than 8, for clarity.
51114         * lib/regexec.c (check_dst_limits_calc_pos_1):
51115         (check_subexp_matching_top): Likewise.
51116         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51117         have to worry about portability issues when shifting it left.
51118         Remove no-longer-needed test for table_size > 0.
51119         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51120         in a word, as the resulting behavior is undefined.
51121         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51122         in one case, a <= should have been an <, and in another case the
51123         whole test was missing.
51124         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51125         the standard name CHAR_BIT.
51126         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51127         this is not true on one's complement and signed-magnitude hosts.
51128
51129         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51130         next_last_offset.
51131         (struct re_dfa_t): Remove unused member states_alloc.
51132         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51133
51134 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51135
51136         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51137         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51138         and large-file glibc and in 32-bit large-file Solaris.
51139
51140 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51141
51142         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51143         lengths fit in regoff_t; this isn't true if regoff_t is the same
51144         width as size_t.
51145         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51146         (= START + RANGE) instead of RANGE.  This avoids overflow
51147         problems when regoff_t is the same width as size_t.
51148         All callers changed.
51149         (re_search_2_stub): Check for overflow when adding the
51150         sizes of the two strings.
51151         (re_search_stub): Check for overflow when adding START
51152         to RANGE; if it occurs, substitute the extreme value.
51153
51154 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51155
51156         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
51157
51158 2005-08-31  Jim Meyering  <jim@meyering.net>
51159
51160         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
51161         a pointer-to-const.
51162         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
51163         (register_state): Likewise.
51164         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
51165         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51166         (group_nodes_into_DFAstates): Likewise.
51167
51168 2005-08-31  Jim Meyering  <jim@meyering.net>
51169
51170         * check-module: Add a FIXME comment.
51171
51172 2005-08-31  Eric Blake  <ebb9@byu.net>
51173
51174         * modules/unistd-safer (Files): Add unistd--.h.
51175         * modules/stdio-safer (Files): Add stdio--.h.
51176
51177 2005-08-31  Derek Price  <derek@ximbiot.com>
51178
51179         * lib/getdelim.c (getdelim): Return EOF on EOF.
51180         Reported by Larry Jones <lawrence.jones@ugs.com>.
51181
51182 2005-08-31  Bruno Haible  <bruno@clisp.org>
51183
51184         Avoid unnecessary diffs in the generated lib/Makefile.am.
51185         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
51186         the generated files.
51187         (func_import): Don't set cmd.
51188
51189 2005-08-31  Bruno Haible  <bruno@clisp.org>
51190
51191         * lib/strstr.c: Include <stddef.h>, for NULL.
51192         * lib/strcasestr.c: Likewise.
51193         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51194
51195 2005-08-31  Bruno Haible  <bruno@clisp.org>
51196
51197         * gnulib-tool: New option --macro-prefix.
51198         (func_import): Use macro_prefix.
51199         (import): Handle option --macro-prefix.
51200
51201 2005-08-31  Bruno Haible  <bruno@clisp.org>
51202
51203         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51204         Also use new variables cached_lgpl, cached_libtool.
51205
51206 2005-08-31  Bruno Haible  <bruno@clisp.org>
51207
51208         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51209         always instantiating them.
51210
51211 2005-08-31  Bruno Haible  <bruno@clisp.org>
51212
51213         * gnulib-tool (func_import): Read the previous cached settings
51214         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51215         earlier added by gnulib but are now dropped. Warn when a gnulib file
51216         overwrites a non-gnulib file.
51217
51218 2005-08-31  Bruno Haible  <bruno@clisp.org>
51219
51220         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51221         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51222         projects that don't keep autogenerated files in CVS. Put into
51223         actioncmd only the specified modules, not the transitive closure.
51224
51225 2005-08-31  Bruno Haible  <bruno@clisp.org>
51226
51227         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51228         Create directories that shall be filled.
51229         (import): Don't look for gl_* macros in configure.ac. Recurse across
51230         all directories containing a gnulib-cache.m4 files, if meaningful.
51231
51232 2005-08-31  Bruno Haible  <bruno@clisp.org>
51233
51234         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51235         (import): Set seen_libtool when we see gl_LIBTOOL.
51236
51237 2005-08-31  Bruno Haible  <bruno@clisp.org>
51238
51239         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51240         declaration macro definitions from generated gnulib.m4.
51241
51242 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51243
51244         * lib/iconvme.h: Add prototype for iconv_alloc.
51245
51246 2005-08-29  Simon Josefsson  <jas@extundo.com>
51247
51248         * lib/iconvme.c: Fix errno.
51249
51250 2005-08-29  Bruno Haible  <bruno@clisp.org>
51251
51252         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51253         that it works when the directory contains spaces.
51254
51255 2005-08-29  Bruno Haible  <bruno@clisp.org>
51256
51257         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51258
51259 2005-08-29  Bruno Haible  <bruno@clisp.org>
51260
51261         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51262         Emit more advice.
51263
51264 2005-08-29  Bruno Haible  <bruno@clisp.org>
51265         and Stepan Kasal  <kasal@ucw.cz>
51266
51267         * check-module: If more parameters are given, check each of them
51268         separately; add more exceptions, as noted by Jim Meyering.
51269         (check_module): New procedure.
51270         (%exempt_header): Now contains all exceptions.
51271
51272 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51273
51274         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51275
51276 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51277
51278         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51279
51280 2005-08-28  Bruno Haible  <bruno@clisp.org>
51281
51282         * m4/gnulib-tool.m4: New file.
51283
51284 2005-08-27  Jim Meyering  <jim@meyering.net>
51285
51286         * modules/unistd-safer (Files): Add pipe-safer.c.
51287         * modules/fcntl-safer (Files): Add creat-safer.c.
51288
51289 2005-08-27  Jim Meyering  <jim@meyering.net>
51290
51291         * m4/stdlib-safer.m4: New file.  From coreutils.
51292         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51293         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51294         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51295         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51296         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51297
51298 2005-08-27  Jim Meyering  <jim@meyering.net>
51299
51300         * lib/fopen-safer.c: Merge minor changes from coreutils.
51301         * lib/dup-safer.c: Likewise.
51302         * lib/fd-safer.c: Likewise.
51303
51304         Merge from coreutils.
51305         * lib/stdio--.h: New file.
51306         * lib/stdlib--.h: New file.
51307         * lib/mkstemp-safer.c: New file.
51308
51309         GNU tar needs these.
51310         * lib/pipe-safer.c: New file.
51311         * lib/creat-safer.c: New file.
51312         * lib/fcntl--.h (creat): Define to creat_safer.
51313         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51314         * lib/unistd--.h (pipe): Define to pipe_safer.
51315         * lib/unistd-safer.h: Declare pipe_safer.
51316
51317 2005-08-26  Simon Josefsson  <jas@extundo.com>
51318
51319         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51320         Haible <bruno@clisp.org>.
51321
51322 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51323
51324         * lib/regex_internal.h: Remove all references to
51325         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51326         or better.
51327         (bitset_not, bitset_merge, bitset_not_merge):
51328         (bitset_mask, re_string_allocate, re_string_construct):
51329         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51330         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51331         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51332         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51333         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51334         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51335         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51336         (re_acquire_state_context):
51337         Remove unnecessary forward decls.
51338         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51339         Put __attribute at function definition,
51340         now that the function decl has been removed.
51341         * lib/regex_internal.c (re_string_peek_byte_case):
51342         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51343         Likewise.
51344
51345 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51346
51347         * m4/regex.m4: Add AC_PREREQ(2.50).
51348         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51349
51350 2005-08-25  Simon Josefsson  <jas@extundo.com>
51351
51352         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51353         __fsetlocking.
51354
51355 2005-08-25  Simon Josefsson  <jas@extundo.com>
51356
51357         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51358         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51359         GLIBC specific code.
51360
51361 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51362
51363         Make regex safe for g++.  This fixes one real bug (an "err"
51364         that should have been "*err").  g++ problem reported by
51365         Sam Steingold.
51366         * lib/regex_internal.h (re_calloc): New macro, consistent with
51367         re_malloc etc.  All callers of calloc changed to use re_calloc.
51368         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51369         not int.  All callers changed.
51370         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51371         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51372         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51373         (find_recover_state): Change "err" to "*err"; this fixes what
51374         appears to be a real bug.
51375         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51376         versus int.
51377
51378 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51379
51380         * modules/regex (Depends-on): Add malloc, since the code
51381         assumes that !malloc(0) means failure.
51382
51383 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51384
51385         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51386
51387         alloca modernization/simplification for regex.
51388         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51389         needs to be at the start of the file, and can be moved into
51390         regex_internal.h and simplified.
51391         * lib/regex_internal.h: Include <alloca.h>.
51392         (__libc_use_alloca) [!defined _LIBC]: New macro.
51393         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51394         now works outside glibc.
51395
51396 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51397
51398         * config/srclist.txt: Add glibc bugs 1241, 1245.
51399
51400 2005-08-25  Jim Meyering  <jim@meyering.net>
51401
51402         * lib/open-safer.c: Include <config.h>.
51403         Otherwise, we'd lose LARGEFILE support in any file using
51404         e.g. "fcntl--.h"
51405
51406 2005-08-25  Bruno Haible  <bruno@clisp.org>
51407
51408         * m4/minmax.m4: Require autoconf 2.52.
51409         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51410         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51411         alternatives of translit over the alphabet.
51412         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51413
51414 2005-08-24  Simon Josefsson  <jas@extundo.com>
51415
51416         * tests/test-getpass.c: New file.
51417
51418 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51419
51420         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51421         for GNU regex features.
51422
51423 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51424
51425         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51426         * lib/regex.h (regerror): Likewise.
51427
51428         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51429         requires this.  (The code never needed it.)
51430
51431         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51432         All uses of recently-renamed identifiers changed to use the new,
51433         POSIX-compliant names.  The code will build and run just fine
51434         without these changes, but it's better to eat our own dog food
51435         and use the standard-conforming names.
51436
51437         * lib/regex.h: Fix a multitude of POSIX name space violations.
51438         These changes have an effect only for programs that define
51439         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51440         do not change anything for programs compiled in the normal way.
51441         Also, there is no effect on the ABI.
51442
51443         (_REGEX_SOURCE): New macro.
51444         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51445         defined and _GNU_SOURCE is not; this fixes a name space violation.
51446
51447         Rename the following macros to obey POSIX requirements.
51448         The old names are still visible as macros if _REGEX_SOURCE is defined.
51449         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51450         RE_BACKSLASH_ESCAPE_IN_LISTS.
51451         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51452         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51453         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51454         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51455         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51456         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51457         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51458         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51459         (REG_INTERVALS): renamed from RE_INTERVALS.
51460         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51461         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51462         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51463         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51464         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51465         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51466         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51467         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51468         RE_UNMATCHED_RIGHT_PAREN_ORD.
51469         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51470         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51471         (REG_DEBUG): renamed from RE_DEBUG.
51472         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51473         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51474         unusual, since we can't clash with the POSIX REG_ICASE.
51475         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51476         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51477         (REG_NO_SUB): renamed from RE_NO_SUB.
51478         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51479         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51480         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51481         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51482         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51483         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51484         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51485         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51486         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51487         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51488         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51489         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51490         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51491         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51492         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51493         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51494         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51495         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51496         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51497         (REG_FIXED): Renamed from REGS_FIXED.
51498         (REG_NREGS): Renamed from RE_NREGS.
51499
51500         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51501         of other REG_* macros, since POSIX says the user is allowed to
51502         #undef these macros selectively.
51503
51504         (reg_errcode_t): Update comment stating what other tables need
51505         to be consistent.
51506
51507         Rename the following enum values to obey POSIX requirements.
51508         The old names are still visible as macros.
51509         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51510         is not defined, since GNU is supposed to be a superset of POSIX as
51511         much as possible, and since we want reg_errcode_t to be a signed
51512         type for implementation consistency.
51513         (_REG_NOERROR): Renamed from REG_NOERROR.
51514         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51515         (_REG_BADPAT): Renamed from REG_BADPAT.
51516         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51517         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51518         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51519         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51520         (_REG_EBRACK): Renamed from REG_EBRACK.
51521         (_REG_EPAREN): Renamed from REG_EPAREN.
51522         (_REG_EBRACE): Renamed from REG_EBRACE.
51523         (_REG_BADBR): Renamed from REG_BADBR.
51524         (_REG_ERANGE): Renamed from REG_ERANGE.
51525         (_REG_ESPACE): Renamed from REG_ESPACE.
51526         (_REG_BADRPT): Renamed from REG_BADRPT.
51527         (_REG_EEND): Renamed from REG_EEND.
51528         (_REG_ESIZE): Renamed from REG_ESIZE.
51529         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51530         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51531         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51532         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51533         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51534
51535         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51536         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51537         changed.  But support the old name if the new one is not defined
51538         and if _REGEX_SOURCE.
51539
51540         Change the following member names in struct re_pattern_buffer.
51541         The old names are still supported if !_REGEX_SOURCE.
51542         The new names are always supported, regardless of _REGEX_SOURCE.
51543         (re_buffer): Renamed from buffer.
51544         (re_allocated): Renamed from allocated.
51545         (re_used): Renamed from used.
51546         (re_syntax): Renamed from syntax.
51547         (re_fastmap): Renamed from fastmap.
51548         (re_translate): Renamed from translate.
51549         (re_can_be_null): Renamed from can_be_null.
51550         (re_regs_allocated): Renamed from regs_allocated.
51551         (re_fastmap_accurate): Renamed from fastmap_accurate.
51552         (re_no_sub): Renamed from no_sub.
51553         (re_not_bol): Renamed from not_bol.
51554         (re_not_eol): Renamed from not_eol.
51555         (re_newline_anchor): Renamed from newline_anchor.
51556
51557         Change the following member names in struct re_registers.
51558         The old names are still supported if !_REGEX_SOURCE.
51559         The new names are always supported, regardless of _REGEX_SOURCE.
51560         (rm_num_regs): Renamed from num_regs.
51561         (rm_start): Renamed from start.
51562         (rm_end): Renamed from end.
51563
51564         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51565         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51566         Prepend __ to parameter names.
51567
51568         Undo yesterday's changes.
51569
51570 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51571
51572         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51573         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51574         lib/regex.c.
51575
51576 2005-08-24  Jim Meyering  <jim@meyering.net>
51577
51578         Sync from coreutils.
51579         * m4/fcntl-safer.m4: New file.
51580
51581         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51582         and object files for this module.
51583
51584 2005-08-24  Jim Meyering  <jim@meyering.net>
51585
51586         Sync from coreutils.
51587         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51588
51589 2005-08-24  Jim Meyering  <jim@meyering.net>
51590
51591         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51592         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51593
51594 2005-08-24  Jim Meyering  <jim@meyering.net>
51595
51596         * modules/fcntl-safer: New module.
51597         * modules/fts (Depends-on): Add fcntl-safer.
51598         * MODULES.html.sh (File descriptor based Input/Output):
51599         Add fcntl-safer.
51600
51601 2005-08-24  Bruno Haible  <bruno@clisp.org>
51602
51603         Support for unit test modules.
51604         * modules/README: Mention tests modules.
51605         * modules/TEMPLATE-TESTS: New file.
51606         * gnulib-tool: New options --extract-tests-module, --with-tests and
51607         --tests-base (unused for the moment).
51608         (testsbase, inctests): New variables.
51609         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51610         (func_verify_module): Exclude TEMPLATE-TESTS.
51611         (func_verify_nontests_module, func_verify_tests_module): New functions.
51612         (func_get_dependencies): Add implicit dependency for tests modules.
51613         (func_get_tests_module): New function.
51614         (func_modules_transitive_closure): When --with-tests was specified,
51615         include the unit tests as well, unless explicitly avoided.
51616         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51617         (func_emit_tests_Makefile_am): New function.
51618         (func_create_testdir): When --with-tests was specified, emit a
51619         tests/ directory.
51620         * MODULES.html.sh (Future developments): Update.
51621
51622 2005-08-24  Bruno Haible  <bruno@clisp.org>
51623
51624         * modules/tls-tests: New file.
51625         * tests/test-tls.c: New file, from GNU gettext.
51626
51627 2005-08-24  Bruno Haible  <bruno@clisp.org>
51628
51629         * modules/lock-tests: New file.
51630         * tests/test-lock.c: New file, from GNU gettext.
51631
51632 2005-08-24  Bruno Haible  <bruno@clisp.org>
51633
51634         * lib/lock.h: Add multiple inclusion guard.
51635         * lib/tls.h: Add multiple inclusion guard.
51636
51637 2005-08-24  Bruno Haible  <bruno@clisp.org>
51638
51639         * gnulib-tool: Add support for the --aux-dir option to
51640         --create-testdir, --create-megatestdir, --test, --megatest.
51641         (func_create_testdir, func_create_megatestdir): Optionally emit a
51642         AC_CONFIG_AUX_DIR directive.
51643         (create-testdir, create-megatestdir, test, megatest): Provide a
51644         default value for $auxdir.
51645
51646 2005-08-24  Bruno Haible  <bruno@clisp.org>
51647
51648         * gnulib-tool (import): Use compound statement instead of subshell
51649         where possible.
51650
51651 2005-08-24  Bruno Haible  <bruno@clisp.org>
51652
51653         * gnulib-tool (import): Change --aux-dir default to "build-aux".
51654
51655 2005-08-24  Bruno Haible  <bruno@clisp.org>
51656
51657         * gnulib-tool (func_version): Update.
51658
51659 2005-08-24  Bruno Haible  <bruno@clisp.org>
51660
51661         * gnulib-tool (func_import, func_create_testdir,
51662         func_create_megatestdir): Quote all autoconf macro arguments.
51663
51664 2005-08-24  Bruno Haible  <bruno@clisp.org>
51665
51666         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
51667         option --force, because --force causes the aclocal.m4 of each
51668         subdirectory to be newer than the corresponding config.h.in.
51669
51670 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51671
51672         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
51673         All contents moved to gl_REGEX.
51674         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
51675         assume that it does.
51676
51677 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51678
51679         * lib/regex.h (REG_NOSYS)
51680         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
51681         Define, since POSIX requires it as of 2001.
51682         (_REG_ENOSYS)
51683         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
51684         New private symbol, used to keep the enum signed in all cases.
51685         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
51686         Youngman in
51687         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
51688
51689         * lib/regex_internal.c (re_string_skip_chars, register_state):
51690         (calc_state_hash):
51691         Remove forward decls; no longer needed now that we use prototypes.
51692         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
51693         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
51694         (clean_state_log_if_needed): Likewise.
51695
51696 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51697
51698         * config/srclist.txt: Add glibc bugs 1231-1233.
51699
51700 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51701
51702         Fix problems reported by Sam Steingold in
51703         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
51704         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
51705         assumed that reg_errcode_t is a signed type, which is not
51706         necessarily true if _XOPEN_SOURCE is not defined.
51707         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
51708         since some compilers warn about it otherwise.
51709
51710 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51711
51712         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
51713         (init_word_char, create_initial_state, duplicate_node_closure):
51714         (fetch_token, peek_token_bracket, build_range_exp):
51715         (build_collating_symbol): Remove forward decls; no longer needed
51716         now that we use prototypes.
51717
51718         * lib/regcomp.c:
51719         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
51720         (re_compile_fastmap_iter, regcomp, regerror, regfree):
51721         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
51722         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
51723         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
51724         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
51725         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
51726         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
51727         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
51728         (build_range_exp, build_collating_symbol, parse_bracket_exp):
51729         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
51730         (build_charclass, build_charclass_op, fetch_number, create_tree):
51731         (create_token_tree, mark_opt_subexp, duplicate_tree):
51732         Use prototypes rather than old-style definitions.
51733
51734         * lib/regex_internal.c:
51735         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
51736         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
51737         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51738         (re_string_reconstruct, re_string_peek_byte_case):
51739         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
51740         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51741         (re_node_set_init_copy, re_node_set_add_intersect):
51742         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51743         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51744         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51745         (re_acquire_state, re_acquire_state_context, register_state):
51746         (create_ci_newstate, create_cd_newstate, free_state):
51747         Likewise.
51748         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
51749         re_search_2):
51750         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
51751         (re_search_internal, prune_impossible_nodes):
51752         (acquire_init_state_context, check_matching, static):
51753         (check_halt_node_context, check_halt_state_context, proceed_next_node):
51754         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
51755         (update_regs, sift_states_backward, build_sifted_states):
51756         (clean_state_log_if_needed, merge_state_array):
51757         (update_cur_sifted_state, add_epsilon_src_nodes):
51758         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
51759         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
51760         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
51761         (find_recover_state, check_subexp_matching_top, transit_state_mb):
51762         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
51763         (check_arrival, check_arrival_add_next_nodes):
51764         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51765         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51766         (check_node_accept_bytes, check_node_accept, extend_buffers):
51767         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
51768         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
51769         (sift_ctx_init):
51770         Likewise.
51771
51772         * lib/regex_internal.h:
51773         (re_string_allocate, re_string_construct, re_string_reconstruct):
51774         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
51775         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
51776         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
51777         (re_string_context_at, re_string_peek_byte_case):
51778         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
51779         is defined, since we now use prototypes always.
51780
51781         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
51782         C89 or better.  All uses removed.
51783
51784 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51785
51786         * config/srclist.txt: Add glibc bugs 1220-1227.
51787
51788 2005-08-20  Jim Meyering  <jim@meyering.net>
51789
51790         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
51791         of unused local, dfa.
51792
51793 2005-08-20  Bruno Haible  <bruno@clisp.org>
51794
51795         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
51796
51797 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51798
51799         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
51800         (re_node_set_insert_last, re_dfa_add_node):
51801         Rename local variables to avoid GCC shadowing warnings.
51802
51803 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51804
51805         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
51806         [defined lint]: Suppress bogus uninitialized-variable warnings.
51807
51808         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
51809         and let the caller return REG_ESPACE if out of space.  This
51810         removes an uninitialied-variable warning with GCC 4.0.1, and also
51811         avoids taking the address of a local variable.  All callers
51812         changed.
51813
51814 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51815
51816         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
51817         $LIBCSRC/posix/regexec.c.
51818         Add glibc bug 1217 for regcomp.c.
51819
51820 2005-08-19  Jim Meyering  <jim@meyering.net>
51821
51822         * lib/regexec.c (proceed_next_node): Redo local variables to
51823         avoid GCC shadowing warnings.
51824
51825 2005-08-18  Bruno Haible  <bruno@clisp.org>
51826
51827         * lib/strstr.c (strstr): Fix return value in multibyte case.
51828         * lib/strcasestr.c (strcasestr): Likewise.
51829
51830 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51831
51832         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
51833
51834 2005-08-17  Jim Meyering  <jim@meyering.net>
51835
51836         Make the %s format (seconds since the epoch) work for a negative
51837         number and when used with a zero-padded field width, e.g. %015s.
51838
51839         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
51840         label so that it precedes the code to set `digits'.  Otherwise,
51841         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
51842         print `00-22'.  Now, it prints `-0022', as it should.
51843
51844 2005-08-17  Bruno Haible  <bruno@clisp.org>
51845
51846         * modules/strstr (Files): Add m4/mbrtowc.m4.
51847         (Depends-on): Add mbuiter.
51848
51849 2005-08-17  Bruno Haible  <bruno@clisp.org>
51850
51851         * modules/strcasestr: New file.
51852         * MODULES.html.sh (String handling, based on ANSI C 89): Add
51853         strcasestr.
51854
51855 2005-08-17  Bruno Haible  <bruno@clisp.org>
51856
51857         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
51858
51859 2005-08-17  Bruno Haible  <bruno@clisp.org>
51860
51861         * modules/mbuiter: New file.
51862         * MODULES.html.sh (Extended multibyte and wide character utilities):
51863         Add mbuiter.
51864
51865 2005-08-17  Bruno Haible  <bruno@clisp.org>
51866
51867         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
51868         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
51869
51870 2005-08-17  Bruno Haible  <bruno@clisp.org>
51871
51872         * m4/strcasestr.m4: New file.
51873
51874 2005-08-17  Bruno Haible  <bruno@clisp.org>
51875
51876         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
51877         * lib/strstr.c: Completely rewritten, with multibyte locale support.
51878
51879 2005-08-17  Bruno Haible  <bruno@clisp.org>
51880
51881         * lib/strcasestr.h: New file.
51882         * lib/strcasestr.c: New file.
51883
51884 2005-08-17  Bruno Haible  <bruno@clisp.org>
51885
51886         * lib/strcasecmp.c: Use mbuiter.h.
51887
51888 2005-08-17  Bruno Haible  <bruno@clisp.org>
51889
51890         * lib/mbuiter.h: New file.
51891
51892 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
51893
51894         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
51895         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
51896         and gl_GETOPT are both invoked via different paths (as happens
51897         with GNU tar CVS because it uses both argp and getopt), the former
51898         wins.
51899
51900 2005-08-16  Bruno Haible  <bruno@clisp.org>
51901
51902         * modules/tls: New file.
51903         * MODULES.html.sh (Multithreading): Add tls.
51904
51905 2005-08-16  Bruno Haible  <bruno@clisp.org>
51906
51907         * modules/strnlen1: New file.
51908         * MODULES.html.sh (String handling): Add strnlen1.
51909
51910 2005-08-16  Bruno Haible  <bruno@clisp.org>
51911
51912         * modules/strcase (Files): Add m4/mbrtowc.m4.
51913         (Depends-on): Add strnlen1, mbchar.
51914
51915 2005-08-16  Bruno Haible  <bruno@clisp.org>
51916
51917         * modules/mbiter: New file.
51918         * MODULES.html.sh (Extended multibyte and wide character utilities):
51919         Add mbiter.
51920
51921 2005-08-16  Bruno Haible  <bruno@clisp.org>
51922
51923         * modules/mbfile: New file.
51924         * MODULES.html.sh (Extended multibyte and wide character utilities):
51925         Add mbfile.
51926
51927 2005-08-16  Bruno Haible  <bruno@clisp.org>
51928
51929         * modules/mbchar: New file.
51930         * MODULES.html.sh (Extended multibyte and wide character utilities):
51931         New section.
51932
51933 2005-08-16  Bruno Haible  <bruno@clisp.org>
51934
51935         * m4/tls.m4: New file, from GNU gettext.
51936
51937 2005-08-16  Bruno Haible  <bruno@clisp.org>
51938
51939         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
51940         always.
51941         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
51942
51943 2005-08-16  Bruno Haible  <bruno@clisp.org>
51944
51945         * m4/mbiter.m4: New file.
51946
51947 2005-08-16  Bruno Haible  <bruno@clisp.org>
51948
51949         * m4/mbfile.m4: New file.
51950
51951 2005-08-16  Bruno Haible  <bruno@clisp.org>
51952
51953         * m4/mbchar.m4: New file.
51954
51955 2005-08-16  Bruno Haible  <bruno@clisp.org>
51956
51957         * lib/tls.h: New file, from GNU gettext.
51958         * lib/tls.c: New file, from GNU gettext.
51959
51960 2005-08-16  Bruno Haible  <bruno@clisp.org>
51961
51962         * lib/strnlen1.h: New file.
51963         * lib/strnlen1.c: New file.
51964
51965 2005-08-16  Bruno Haible  <bruno@clisp.org>
51966
51967         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
51968         (mbi_init): Update.
51969         (mbi_avail, mbi_advance): Let the iteration end before the terminating
51970         NUL byte, not after it.
51971
51972 2005-08-16  Bruno Haible  <bruno@clisp.org>
51973
51974         * lib/strcase.h (strcasecmp): Add note in comments.
51975         * lib/strncasecmp.c: Use code from strcasecmp.c.
51976         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
51977         (strcasecmp): Work correctly in multibyte locales.
51978
51979 2005-08-16  Bruno Haible  <bruno@clisp.org>
51980
51981         * lib/mbiter.h: New file.
51982
51983 2005-08-16  Bruno Haible  <bruno@clisp.org>
51984
51985         * lib/mbfile.h: New file.
51986
51987 2005-08-16  Bruno Haible  <bruno@clisp.org>
51988
51989         * lib/mbchar.h: New file.
51990         * lib/mbchar.c: New file.
51991
51992 2005-08-16  Bruno Haible  <bruno@clisp.org>
51993
51994         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
51995         the valid ones. Makes the comparison operations transitive:
51996         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
51997         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
51998
51999 2005-08-15  Simon Josefsson  <jas@extundo.com>
52000
52001         * modules/ssize_t (License): Change to 'unlimited'.
52002
52003         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52004
52005 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52006
52007         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52008         Add comments for each pending glibc patch.
52009
52010 2005-08-15  Bruno Haible  <bruno@clisp.org>
52011
52012         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52013         __cplusplus is defined.
52014
52015 2005-08-14  Jim Meyering  <jim@meyering.net>
52016
52017         Sync from coreutils.
52018
52019         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52020         Use the hash-table-based cycle-detection code not just when
52021         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52022         Reported by James Youngman in
52023         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52024         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52025         FTS_TIGHT_CYCLE_CHECK.
52026         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52027         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52028         once again.
52029         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52030         * lib/fts.c (fd_safer): Remove decl.
52031         Include fcntl--.h rather than unistd-safer.h
52032         (fts_safe_changedir): Don't call fd_safer; no longer needed
52033         now that we include fcntl--.h.
52034
52035 2005-08-12  Simon Josefsson  <jas@extundo.com>
52036
52037         * modules/getndelim2: Use ssize_t module.
52038         * modules/getnline: Likewise.
52039         * modules/safe-read: Likewise.
52040         * modules/xreadlink: Likewise.
52041
52042         * modules/ssize_t: New file.
52043
52044 2005-08-12  Simon Josefsson  <jas@extundo.com>
52045
52046         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52047
52048 2005-08-12  Simon Josefsson  <jas@extundo.com>
52049
52050         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52051         ssize_t.
52052
52053 2005-08-12  Simon Josefsson  <jas@extundo.com>
52054
52055         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52056         readline, getdelim and check_version.
52057         (Support for systems lacking ISO C 99: Sizes of integer types):
52058         Add size_max.
52059
52060 2005-08-12  Bruno Haible  <bruno@clisp.org>
52061
52062         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52063
52064 2005-08-11  Simon Josefsson  <jas@extundo.com>
52065
52066         * modules/readline: New file.
52067
52068         * modules/strnlen (Files): Add strnlen.h.
52069
52070 2005-08-11  Simon Josefsson  <jas@extundo.com>
52071
52072         * m4/readline.m4: New file.
52073
52074 2005-08-11  Simon Josefsson  <jas@extundo.com>
52075
52076         * lib/readline.h, readline.c: New file.
52077
52078 2005-08-11  Simon Josefsson  <jas@extundo.com>
52079
52080         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52081         gl_AVOID.
52082
52083 2005-08-11  Bruno Haible  <bruno@clisp.org>
52084
52085         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52086
52087 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52088
52089         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52090
52091 2005-08-10  Simon Josefsson  <jas@extundo.com>
52092
52093         * tests/test-iconvme.c: New file.
52094
52095 2005-08-10  Simon Josefsson  <jas@extundo.com>
52096
52097         * m4/strnlen.m4: New file.
52098
52099         * m4/strndup.m4: Don't check for strnlen declaration, done in
52100         strnlen.m4.
52101
52102 2005-08-10  Simon Josefsson  <jas@extundo.com>
52103
52104         * lib/strndup.c: Use strnlen.h.
52105
52106         * lib/strnlen.h: New file.
52107
52108 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52109
52110         * README: Typos.
52111
52112 2005-08-02  Simon Josefsson  <jas@extundo.com>
52113
52114         * modules/readline: New file.
52115
52116 2005-08-02  Simon Josefsson  <jas@extundo.com>
52117
52118         * modules/getdelim: New file.
52119
52120         * modules/getline: Rewrite, don't use getndelim2.
52121
52122 2005-08-02  Simon Josefsson  <jas@extundo.com>
52123
52124         * m4/getline.m4: Separate out getdelim stuff into separate module.
52125
52126         * m4/getdelim.m4: New file.
52127
52128 2005-08-02  Simon Josefsson  <jas@extundo.com>
52129
52130         * lib/getline.h, getline.c: Rewrite.
52131
52132         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52133
52134 2005-07-31  Bruno Haible  <bruno@clisp.org>
52135
52136         * lib/lock.h (gl_lock_initializer): New macro.
52137         (gl_lock_define_initialized): Use it.
52138         (gl_rwlock_initializer): New macro.
52139         (gl_rwlock_define_initialized): Use it.
52140         (gl_recursive_lock_initializer): New macro.
52141         (gl_recursive_lock_define_initialized): Use it.
52142
52143 2005-07-30  Karl Berry  <karl@gnu.org>
52144
52145         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52146         Report from Ben Pfaff, regarding getopt.
52147
52148 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52149
52150         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52151         normal way.
52152         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52153         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52154         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52155         (gl_GETOPT): Use the new macros.  Most of the implementation
52156         is moved to the new macros.  This is for programs like Emacs
52157         that don't want all the functionality of gl_GETOPT.
52158
52159 2005-07-26  Bruno Haible  <bruno@clisp.org>
52160
52161         * m4/lock.m4: Update from GNU gettext.
52162
52163 2005-07-26  Bruno Haible  <bruno@clisp.org>
52164
52165         * lib/lock.h: Update from GNU gettext.
52166         * lib/lock.c: Update from GNU gettext.
52167
52168 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
52169
52170         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
52171         obsolescent AC_TRY_RUN.  Include the default includes files, for
52172         'exit'.
52173
52174 2005-07-24  Bruno Haible  <bruno@clisp.org>
52175
52176         * modules/visibility: New file.
52177         * MODULES.html.sh (Misc): Add visibility.
52178
52179 2005-07-24  Bruno Haible  <bruno@clisp.org>
52180
52181         * m4/visibility.m4: New file.
52182
52183 2005-07-24  Bruno Haible  <bruno@clisp.org>
52184
52185         * doc/visibility.texi: New file.
52186
52187 2005-07-22  Bruno Haible  <bruno@clisp.org>
52188
52189         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52190         $(ALLOCA_H), redundant through BUILT_SOURCES.
52191         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52192         redundant through BUILT_SOURCES.
52193         * modules/byteswap (Makefile.am): Remove explicit dependency on
52194         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52195         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52196         $(FNMATCH_H), redundant through BUILT_SOURCES.
52197         * modules/getopt (Makefile.am): Remove explicit dependency on
52198         $(GETOPT_H), redundant through BUILT_SOURCES.
52199         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52200         redundant through BUILT_SOURCES.
52201         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52202         redundant through BUILT_SOURCES.
52203         * modules/stdbool (Makefile.am): Remove explicit dependency on
52204         $(STDBOOL_H), redundant through BUILT_SOURCES.
52205         * modules/stdint (Makefile.am): Remove explicit dependency on
52206         $(STDINT_H), redundant through BUILT_SOURCES.
52207         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52208         Remove explicit dependency on $(SYSEXITS_H).
52209         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52210
52211 2005-07-18  Simon Josefsson  <jas@extundo.com>
52212
52213         * lib/check-version.c (check_version): Accept identical versions too.
52214
52215 2005-07-18  Bruno Haible  <bruno@clisp.org>
52216
52217         * modules/lock: New file.
52218         * MODULES.html.sh (Multithreading): New section.
52219
52220 2005-07-18  Bruno Haible  <bruno@clisp.org>
52221
52222         * m4/lock.m4: New file, from GNU gettext.
52223
52224 2005-07-18  Bruno Haible  <bruno@clisp.org>
52225
52226         * lib/lock.h: New file, from GNU gettext.
52227         * lib/lock.c: New file, from GNU gettext.
52228
52229 2005-07-18  Bruno Haible  <bruno@clisp.org>
52230
52231         * lib/lock.h (gl_once_t): New type.
52232         (gl_once_define, gl_once): New macros.
52233         * lib/lock.c (fresh_once): New variable.
52234         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52235         functions.
52236
52237 2005-07-16  Simon Josefsson  <jas@extundo.com>
52238
52239         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52240         workaround, suggested by Bruno.
52241
52242 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52243
52244         * modules/xalloc (Depends-on): Add xalloc-die.
52245         * modules/xvasprintf (Depends-on): Add xalloc-die.
52246
52247 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52248
52249         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52250         with a minor change.
52251
52252 2005-07-15  Bruno Haible  <bruno@clisp.org>
52253
52254         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52255         When using lib/poll.c, define poll as rpl_poll.
52256
52257 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52258
52259         * modules/argp (Depends-on): Remove unlocked-io.
52260
52261 2005-07-14  Derek Price  <derek@ximbiot.com>
52262
52263         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52264         for glob symlink bug.
52265
52266 2005-07-14  Bruno Haible  <bruno@clisp.org>
52267
52268         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52269         Instead, test for *_unlocked function declarations directly.
52270
52271 2005-07-11  Simon Josefsson  <jas@extundo.com>
52272
52273         * modules/size_max: New file.
52274
52275         * modules/xsize: Depend on size_max module for size_max.m4.
52276
52277 2005-07-11  Simon Josefsson  <jas@extundo.com>
52278
52279         * lib/size_max.h: New file.
52280
52281 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52282
52283         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52284         copyright symbol and the year.
52285         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52286         (version_etc_va): Use parameterized copyright notice.
52287         Reword to conform to the current GNU coding standards.
52288
52289 2005-07-11  Karl Berry  <karl@gnu.org>
52290
52291         * doc/gnulib.texi (Quoting): new node.
52292         (Initial import): more info, from Patrice.
52293
52294 2005-07-11  Bruno Haible  <bruno@clisp.org>
52295
52296         * gnulib-tool (func_usage): Document option --avoid.
52297         (Command line options): Handle --avoid.
52298         (func_acceptable): New function.
52299         (func_modules_transitive_closure): Use it.
52300
52301 2005-07-11  Bruno Haible  <bruno@clisp.org>
52302
52303         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52304         Reported by Jim Meyering.
52305
52306 2005-07-10  Bruno Haible  <bruno@clisp.org>
52307
52308         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52309         Needed when size_t is smaller than 'unsigned int'.
52310         Reported by Paul Eggert.
52311
52312 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52313
52314         * modules/argp (Depends-on): Add unlocked-io
52315
52316 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52317
52318         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52319         block of defines.
52320
52321 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52322
52323         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52324         fix now.
52325
52326 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52327         and Paul Eggert  <eggert@cs.ucla.edu>
52328
52329         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52330         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52331
52332 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52333
52334         * modules/regex (Files): Add lib/regex_internal.c,
52335         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52336         (Depends-on): Add extensions.
52337         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52338
52339 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52340
52341         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52342         pathconf.
52343         * m4/same.m4 (gl_SAME): Likewise.
52344         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52345
52346         * m4/regex.m4: Adjust to new libc regex implementation.
52347         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52348         all the .c and .h parts of (the new) regex.
52349         Quote the m4 stuff better.
52350         Check for RE_ICASE bug of old gnulib.
52351         Check for REG_STARTEND of recent libc.
52352         Rename local variables from jm_* to gl_*.
52353         Quote operand of "test -f".
52354         Say "recent enough" version of libc, not "version 2".
52355         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52356         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52357         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52358         Remove check for btowc, isascii.
52359         Require AM_LANGINFO_CODESET.
52360
52361 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52362
52363         * lib/regex.c, regex.h: Sync from libc.
52364         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52365         * lib/regexec.c:
52366         New files, synced from libc, except that regex_internal.h
52367         currently has a small porting fix.
52368
52369 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52370
52371         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52372         regex_internal.c, regexec.c.
52373         Add regex_internal.h too, but as a comment, since the libc version
52374         is currently broken in gnulib mode.
52375
52376 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52377
52378         Support programs like Emacs that use gnulib but not gettext.
52379         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52380         * modules/gettext-h: New file.
52381         * modules/gettext (Files): Remove lib/gettext.h.
52382         (Depends-on): Add gettext-h.
52383         (Makefile.am): Remove lib_SOURCES.
52384         * modules/argmatch, modules/c-stack, modules/closeout:
52385         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52386         * modules/execute, modules/file-type, modules/getaddrinfo:
52387         * modules/getopt, modules/human, modules/javacomp:
52388         * modules/javaexec, modules/mkdir-p, modules/obstack:
52389         * modules/openat, modules/pagealign_alloc, modules/pipe:
52390         * modules/quotearg, modules/regex, modules/rpmatch:
52391         * modules/unicodeio, modules/userspec, modules/version-etc:
52392         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52393         * modules/xsetenv:
52394         Depend on gettext-h, not gettext.
52395
52396 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52397
52398         * gnulib-tool (func_import): Add support for 'public domain' license.
52399         * modules/alloca, modules/atexit, modules/memmove:
52400         Now public domain, not GPL.
52401         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52402         * modules/realloc, modules/strerror, modules/strtod:
52403         Now LGPL, not GPL.
52404
52405 2005-07-05  Bruno Haible  <bruno@clisp.org>
52406
52407         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52408         autoconf CVS. Needed for mingw.
52409
52410 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52411
52412         Remove the dependency of the strftime module on the tzset module.
52413         * modules/strftime (Depends-on): Remove dependency on tzset.
52414
52415 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52416
52417         Remove the dependency of the strftime module on the tzset module.
52418         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52419         gl_FUNC_TZSET_CLOBBER.
52420
52421 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52422
52423         Remove the dependency of the strftime module on the tzset module.
52424         * lib/strftime.c (my_strftime)
52425         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52426         Copy the input structure, to work around some of the bug with
52427         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52428         Solaris releases, you should also use the tzset module, but we won't
52429         require it as a dependency any more since we don't want LGPLed code
52430         to depend on GPLed code.
52431
52432 2005-07-02  Jim Meyering  <jim@meyering.net>
52433
52434         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52435         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52436         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52437         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52438
52439 2005-07-02  Jim Meyering  <jim@meyering.net>
52440
52441         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52442
52443 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52444
52445         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52446         declares only 'struct timespec;' (!).
52447
52448 2005-07-01  Jim Meyering  <jim@meyering.net>
52449
52450         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52451         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52452         * lib/save-cwd.c, tempname.c:
52453         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52454         and don't include <sys/file.h>).
52455
52456 2005-06-29  Jim Meyering  <jim@meyering.net>
52457
52458         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52459         type name.  Use the variable name instead.
52460         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52461         Likewise.
52462
52463 2005-06-28  Simon Josefsson  <jas@extundo.com>
52464
52465         * modules/check-version (Files): Add check-version.m4.
52466
52467 2005-06-28  Simon Josefsson  <jas@extundo.com>
52468
52469         * m4/check-version.m4: New file, suggested by Jim Meyering
52470         <jim@meyering.net>.
52471
52472 2005-06-28  Simon Josefsson  <jas@extundo.com>
52473
52474         * lib/check-version.h, lib/check-version.c: New files.
52475
52476 2005-06-28  Simon Josefsson  <jas@extundo.com>
52477
52478         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52479         collision with global variable.  Better indentation.  Don't
52480         increment buffer pointer beyond buffer end.  Based on comments
52481         from Paul Eggert <eggert@cs.ucla.edu>.
52482
52483         * lib/base64.h: Indent.
52484
52485 2005-06-28  Simon Josefsson  <jas@extundo.com>
52486
52487         * doc/gnulib.texi (Library version handling): New section.
52488
52489 2005-06-28  Jim Meyering  <jim@meyering.net>
52490
52491         * check-module (find_included_lib_files): Hard-code another
52492         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52493         but modules/fts-lgpl (correctly) does not list those files.
52494
52495         * modules/canonicalize (Files): Add lib/pathmax.h.
52496
52497 2005-06-25  Simon Josefsson  <jas@extundo.com>
52498
52499         * modules/check-version: New file.
52500
52501 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52502
52503         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52504         initializer of struct addrinfo, as an indication that we don't
52505         care how many members the structure has.
52506
52507 2005-06-24  Derek Price  <derek@ximbiot.com>
52508         and Bruno Haible  <bruno@clisp.org>
52509
52510         Remove stat module & update lstat.
52511         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52512         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52513         * m4/stat.m4: Remove this file.
52514
52515 2005-06-24  Derek Price  <derek@ximbiot.com>
52516         and Bruno Haible  <bruno@clisp.org>
52517
52518         Remove stat module & update lstat.
52519         * lib/stat.c: Remove this file...
52520         (slash_aware_lstat): ...moving this content and its support...
52521         * lib/lstat.c (rpl_lstat): ...into here.
52522         * lib/lstat.h: New file.
52523
52524 2005-06-24  Derek Price  <derek@ximbiot.com>
52525         and Bruno Haible  <bruno@clisp.org>
52526
52527         Remove stat module & update lstat.
52528         * config/srclist.txt (libc sources): Remove stat.
52529
52530 2005-06-24  Derek Price  <derek@ximbiot.com>
52531         and Bruno Haible  <bruno@clisp.org>
52532
52533         Remove stat module & update lstat.
52534         * MODULES.html.sh (stat): Remove.
52535         * MODULES.html: Regenerated.
52536         * modules/lstat (Description): Correct function name.
52537         (Files): Add "lstat.h".
52538         (Depends-on): Remove stat, add xalloc, stat-macros.
52539         * modules/stat: Remove this file.
52540         (Include): Add "lstat.h", remove <sys/stat.h>.
52541
52542 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52543
52544         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52545         (ranged_convert): Don't save conversion in a temporary struct.
52546         This causes a warning with GCC 4.0.0, and anyway in the typical
52547         case it's not worth the extra 100 bytes or so of code.
52548         (ranged_convert, __mktime_internal): When calling a function via a
52549         pointer P, use P () rather than (*P) (), as we now assume C89 or
52550         better.
52551
52552 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52553
52554         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52555         "who -r" failed to give output.  Problem reported by Tim Waugh.
52556
52557         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52558         (xcalloc): Use it to avoid needless tests.
52559         Problem reported by Jim Meyering.
52560
52561 2005-06-20  Derek Price  <derek@ximbiot.com>
52562
52563         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52564         unnecessary for Autoconfs > 2.59c.
52565
52566 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52567
52568         * lib/argp.h (__option_is_short): Check upper limit of
52569         __key. Isprint() requires its argument to have the value
52570         of an unsigned char or EOF.
52571
52572 2005-06-16  Jim Meyering  <jim@meyering.net>
52573
52574         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52575         when either N or S is zero.
52576
52577 2005-06-16  Derek Price  <derek@ximbiot.com>
52578
52579         * m4/bison.m4: Declare YACC & YFLAGS precious.
52580
52581 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52582
52583         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52584         multibyte string or pattern, fall back on unibyte matching.
52585         Problem reported by James Youngman.
52586
52587 2005-06-08  Bruno Haible  <bruno@clisp.org>
52588
52589         * modules/csharpcomp: New file.
52590         * MODULES.html.sh (C#): Add csharpcomp.
52591
52592 2005-06-08  Bruno Haible  <bruno@clisp.org>
52593
52594         * m4/csharpcomp.m4: New file, from GNU gettext.
52595
52596 2005-06-08  Bruno Haible  <bruno@clisp.org>
52597
52598         * lib/csharpcomp.h: New file, from GNU gettext.
52599         * lib/csharpcomp.c: New file, from GNU gettext.
52600         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52601
52602 2005-06-08  Bruno Haible  <bruno@clisp.org>
52603
52604         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52605         warning on mingw.
52606
52607 2005-06-07  Derek Price  <derek@ximbiot.com>
52608
52609         Sync from CVS.
52610         * lib/glob_.h: Indent nested #ifdef.
52611
52612 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52613
52614         Sync from coreutils.
52615         Use "file name" when talking about file names, instead of "filename"
52616         or "path", as per the GNU coding standards.
52617         * lib/mkdir-p.c: Renamed from makepath.c.
52618         (make_dir_parents): Renamed from make_path.  All callers changed.
52619         * lib/mkdir-p.h: Likewise.  All includers changed.
52620         * lib/filenamecat.c: Renamed from path-concat.c.
52621         (file_name_concat): Renamed from path_concat.  All callers changed.
52622         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52623         * lib/filenamecat.h: Likewise.  All includers changed.
52624         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52625         in comments or local variable names.
52626         * lib/basename.c: Likewise.
52627         * lib/canonicalize.c, canonicalize.h: Likewise.
52628         * lib/dirname.c, dirname.h: Likewise.
52629         * lib/euidaccess.c: Likewise.
52630         * lib/exclude.c: Likewise
52631         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52632         * lib/fsusage.c, fsuage.h: Likewise.
52633         * lib/fts.c, fts_.h: Likewise.
52634         * lib/getcwd.c: Likewise.
52635         * lib/getloadavg.c: Likewise.
52636         * lib/mkstemp.c: Likewise.
52637         * lib/mountlist.c, mountlist.h: Likewise.
52638         * lib/openat.c, openat.h: Likewise.
52639         * lib/readlink-stub.c: Likewise.
52640         * lib/readutmp.c, readutmp.h: Likewise.
52641         * lib/rename.c: Likewise.
52642         * lib/rmdir.c: Likewise.
52643         * lib/same.c: Likewise.
52644         * lib/savedir.c: Likewise.
52645         * lib/stripslash.c: Likewise.
52646         * lib/tempname.c: Likewise.
52647         * lib/xreadlink.c: Likewise.
52648         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
52649         All uses changed.
52650         * lib/exclude.h: Likewise.
52651
52652         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
52653         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52654         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
52655         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52656         * lib/pathmax.h: Include <limits.h> unconditionally, since other
52657         files have been getting away with it for years (MORE/BSD 4.3
52658         is extinct now).
52659         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
52660         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52661
52662         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
52663         Define to 256, not 255, as per modern POSIX.
52664
52665 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52666
52667         Sync from coreutils.
52668         Use "file name" when talking about file names, instead of "filename"
52669         or "path", as per the GNU coding standards.
52670         * MODULES.html.sh: mkdir-p renamed from makepath.
52671         filenamecat renamed from path-concat.
52672         * modules/filenamecat: Renamed from modules/path-concat.
52673         (Files): filenamecat.h and filenamecat.c renamed from
52674         path-concat.h and path-concat.c.
52675         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
52676         (Include): filenamecat.h, not path-concat.h.
52677         * modules/mkdir-p: Renamed from modules/makepath.
52678         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
52679         makepath.c.
52680         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
52681         (Include): mkdir-p.h, not makepath.h.
52682
52683 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52684
52685         Sync from coreutils.
52686         * m4/mkdir-p.m4: Renamed from makepath.m4.
52687         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
52688         Rename files from makepath.c to mkdir-p.c, and from
52689         makepath.h to mkdir-p.h.
52690         * m4/filenamecat.m4: Renamed from path-concat.m4.
52691         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
52692         Rename files from path-concat.c to filenamecat.c,
52693         and from path-concat.h to filenamecat.h.
52694         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
52695         "file name" in local variables or comments.
52696         * m4/rename.m4: Likewise.
52697
52698 2005-06-01  Bruno Haible  <bruno@clisp.org>
52699
52700         * modules/csharpexec: New file.
52701         * MODULES.html.sh (C#): New section.
52702
52703 2005-06-01  Bruno Haible  <bruno@clisp.org>
52704
52705         * m4/csharp.m4: New file, from GNU gettext.
52706         * m4/csharpexec.m4: New file, from GNU gettext.
52707
52708 2005-06-01  Bruno Haible  <bruno@clisp.org>
52709
52710         * lib/csharpexec.h: New file, from GNU gettext.
52711         * lib/csharpexec.c: New file, from GNU gettext.
52712         * lib/csharpexec.sh.in: New file, from GNU gettext.
52713
52714 2005-05-31  Derek Price  <derek@ximbiot.com>
52715             Paul Eggert  <eggert@cs.ucla.edu>
52716
52717         Sync from cvs.
52718         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52719
52720 2005-05-31  Derek Price  <derek@ximbiot.com>
52721             Paul Eggert  <eggert@cs.ucla.edu>
52722
52723         Sync from cvs.
52724         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52725
52726 2005-05-29  Derek Price  <derek@ximbiot.com>
52727
52728         * config/srclist.txt (glob_.h, glob.c): Add these files.
52729
52730 2005-05-29  Derek Price  <derek@ximbiot.com>
52731
52732         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
52733         * modules/glob: New file.
52734         * modules/getlogin_r: Add link to POSIX spec in description.
52735
52736 2005-05-29  Derek Price  <derek@ximbiot.com>
52737             Paul Eggert  <eggert@cs.ucla.edu>
52738
52739         * m4/glob.m4: New file.
52740
52741 2005-05-29  Derek Price  <derek@ximbiot.com>
52742             Paul Eggert  <eggert@cs.ucla.edu>
52743
52744         * lib/glob_.h, lib/glob.c: New files.
52745
52746 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52747
52748         * modules/fts (Files): Remove m4/inttypes-pri.m4.
52749         * modules/fts-lgpl (Depends-on): Remove gettext.
52750
52751 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52752
52753         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
52754         and don't require gt_INTTYPES_PRI.
52755
52756 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52757
52758         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
52759
52760         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
52761         the configuration hassle isn't worth it.
52762         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
52763         (LONGEST_MODIFIER, PRIuMAX): Remove.
52764
52765 2005-05-27  Bruno Haible  <bruno@clisp.org>
52766
52767         * lib/getlogin_r.h: Remove second include of <stddef.h>.
52768
52769 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52770
52771         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
52772         _POSIX_PTHREAD_SEMANTICS for Solaris.
52773
52774 2005-05-25  Derek Price  <derek@ximbiot.com>
52775
52776         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
52777
52778 2005-05-25  Derek Price  <derek@ximbiot.com>
52779             Paul Eggert  <eggert@cs.ucla.edu>
52780
52781         * modules/getlogin_r, m4/getlogin_r.m4: New files.
52782         * lib/getlogin_r.c, getlogin_r.h: New files.
52783
52784 2005-05-25  Bruno Haible  <bruno@clisp.org>
52785             Derek Price  <derek@ximbiot.com>
52786
52787         * lib/getlogin_r.h: Simplify API documentation.
52788
52789 2005-05-23  Derek Price  <derek@ximbiot.com>
52790
52791         * modules/minmax (Files): Add m4/minmax.m4.
52792         (configure.ac): Add gl_MINMAX.
52793
52794 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52795
52796         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
52797         so that unistd-safer.h (GPL'ed code) need not be included.
52798
52799 2005-05-22  Bruno Haible  <bruno@clisp.org>
52800
52801         * m4/minmax.m4: New file.
52802         Based on a patch by Derek Price <derek@ximbiot.com>.
52803
52804 2005-05-22  Bruno Haible  <bruno@clisp.org>
52805
52806         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
52807         (INT64_MIN): Fix definition.
52808         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
52809
52810         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
52811         NEED_SIGNED_INT_TYPES.
52812
52813         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
52814         HAVE_SYSTEM_INTTYPES.
52815
52816 2005-05-22  Bruno Haible  <bruno@clisp.org>
52817
52818         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
52819         Also include <sys/param.h> if it defines MIN, MAX.
52820         Based on a patch by Derek Price <derek@ximbiot.com>.
52821
52822 2005-05-21  Jim Meyering  <jim@meyering.net>
52823
52824         * modules/fts (Files): Add m4/inttypes-pri.m4.
52825         (Depends-on): Add lstat and remove gettext.  Alphabetize.
52826
52827 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52828
52829         New fts module.
52830         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
52831         (setup_dir, free_dir): New functions.
52832         (enter_dir, leave_dir): Define trivial
52833         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
52834         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
52835         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
52836         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
52837         Move to fts-cycle.c.
52838         (fts_open): Use setup_dir.
52839         (fts_close): Use free_dir.
52840         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
52841         This adds a label and some gotos, but the alternatives were messier.
52842         Check for memory allocation failure when entering a dir.
52843         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
52844         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
52845         (FTS): New member fts_cycle, that is a union that contains the
52846         old active_dir_ht and cycle_state.  All uses changed to mention
52847         fts_cycle.ht and fts_cycle.state.
52848         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
52849         fts.c, with the following changes:
52850         (setup_dir, free_dir): New functions.
52851         (enter_dir): Now returns bool.  Return true if successful, false
52852         if memory exhausted.  All callers changed.
52853         Do not bother partly cleaning up on
52854         memory allocation failure; that is free_dir's job.
52855         However, free ad if hash_insert fails, to avoid memory leak.
52856         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
52857         fts->fts_options to see which union member to use.
52858
52859 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52860
52861         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
52862         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
52863
52864 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52865
52866         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
52867
52868 2005-05-20  Jim Meyering  <jim@meyering.net>
52869
52870         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
52871         Now a macro, to pacify GCC.
52872
52873 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52874
52875         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
52876         of -1.
52877
52878 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52879
52880         * lib/chown.c (rpl_chown): Return -1 on failure.
52881
52882 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52883
52884         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
52885         Don't check for stddef.h.
52886         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
52887         don't use its results.
52888         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
52889         since we include them unconditionally.  Don't require
52890         AM_STDBOOL_H, since stdbool is a prerequisite.
52891         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
52892         since we assume C89 or better.
52893         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
52894         as we don't use their results.
52895         Don't check for fchdir, memmove, memset, strrchr, as we use
52896         them unconditionally.
52897         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
52898         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
52899
52900 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52901
52902         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
52903         Include <stddef.h> unconditionally, since we assume C89 now.
52904         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
52905         * lib/fts.c: Include fts_.h first, to check interface.
52906         Do not include intprops.h; no longer needed.
52907         Include cycle-check.h and hash.h, since fts_.h no longer does.
52908         Remove unnecessary casts of closedir to void.
52909         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
52910         decide whether to decrement nlinks.
52911         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
52912         (FTS): Use struct hash_table * instead of Hash_table, so that
52913         we no longer need to include hash.h here.
52914
52915 2005-05-18  Jim Meyering  <jim@meyering.net>
52916
52917         * modules/dirfd (License): Change to LGPL.  Most of the code
52918         is already in the public domain.
52919
52920 2005-05-18  Jim Meyering  <jim@meyering.net>
52921
52922         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
52923         Reported by Yoann Vandoorselaere.
52924
52925 2005-05-17  Jim Meyering  <jim@meyering.net>
52926
52927         * m4/fts.m4: New file, from coreutils.
52928
52929 2005-05-17  Jim Meyering  <jim@meyering.net>
52930
52931         * lib/fts.c, lib/fts_.h: New files, from coreutils.
52932
52933 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52934
52935         Sync from coreutils.
52936         * m4/unlinkdir.m4: New file.
52937
52938 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52939
52940         Sync from coreutils.
52941         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
52942         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
52943         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
52944         White space changes only.
52945         * lib/makepath.c (make_path): Port to hosts where leading "//" is
52946         special.
52947         * lib/yesno.c: Include getline.h, not ctype.h.
52948         (yesno): Don't remove leading white space; POSIX doesn't allow it.
52949         Use getline to remove arbitrary restriction on response length.
52950
52951 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52952
52953         * config/srclist-update: Spell out "Street" in FSF postal
52954         mail address; this is the style the FSF seems to prefer.
52955
52956         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
52957         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
52958         this updates FSF postal mail address.
52959
52960         Sync from coreutils.
52961         * modules/unlinkdir: New file.
52962         * modules/yesno (Depends-on): Add getline.
52963         * MODULES.html.sh (File system functions): Add unlinkdir.
52964
52965 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52966
52967         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
52968         lib/strsep.h:
52969         Change the initial comment to refer to GPL, not LGPL.
52970         gnulib-tool will change it to LGPL as needed.
52971
52972         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
52973         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
52974         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
52975         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
52976         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
52977         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
52978         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
52979         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
52980         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
52981         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
52982         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
52983         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
52984         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
52985         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
52986         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
52987         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
52988         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
52989         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
52990         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
52991         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
52992         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
52993         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
52994         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
52995         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
52996         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
52997         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
52998         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
52999         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53000         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53001         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53002         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53003         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53004         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53005         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53006         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53007         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53008         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53009         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53010         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53011         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53012         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53013         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53014         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53015         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53016         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53017         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53018         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53019         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53020         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53021         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53022         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53023         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53024         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53025         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53026         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53027         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53028         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53029         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53030         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53031         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53032         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53033         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53034         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53035         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53036         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53037         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53038         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53039         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53040         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53041         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53042         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53043         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53044         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53045         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53046         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53047         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53048         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53049         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53050         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53051         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53052         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53053         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53054         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53055         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53056         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53057         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53058         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53059         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53060         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53061         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53062         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53063         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53064         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53065         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53066         lib/yesno.c, lib/yesno.h:
53067         Update FSF postal mail address.
53068
53069 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53070
53071         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53072         tests/test-memmem.c, tests/test-stpncpy.c:
53073         Update FSF postal mail address.
53074
53075 2005-05-13  Bruno Haible  <bruno@clisp.org>
53076
53077         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53078         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53079         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53080         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53081         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53082         Add support for 64-bit integers in the MSVC compiler.
53083
53084 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53085
53086         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53087
53088 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53089
53090         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53091
53092 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53093
53094         * doc/getdate.texi (General date syntax): Don't say that date
53095         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53096         Problem reported by Nic Ferrier.
53097
53098 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53099
53100         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53101         specified in ai_socktype. Fix invalid ai_protocol
53102         check. ai_protocol is usually set to 0 or depending on
53103         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53104         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53105         ai_socktype / ai_protocol in the returned addrinfo structure.
53106
53107 2005-05-10  Simon Josefsson  <jas@extundo.com>
53108
53109         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53110         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53111
53112 2005-05-10  Karl Berry  <karl@gnu.org>
53113
53114         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53115         (from http://www.gnu.org/licenses).
53116         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53117         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53118         fdl.texi suffices.
53119
53120 2005-05-10  Karl Berry  <karl@gnu.org>
53121
53122         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53123         (COPYING.DOC): remove.
53124
53125         * config/srclist-update: new FSF address.
53126
53127 2005-05-10  Derek Price  <derek@ximbiot.com>
53128
53129         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53130         possible.
53131
53132 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53133             Bruno Haible  <bruno@clisp.org>
53134
53135         * modules/inet_ntop: New file.
53136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53137         inet_ntop.
53138
53139 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53140             Bruno Haible  <bruno@clisp.org>
53141
53142         * m4/inet_ntop.m4: New file.
53143
53144 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53145             Bruno Haible  <bruno@clisp.org>
53146
53147         * lib/inet_ntop.h: New file.
53148         * lib/inet_ntop.c: New file, from glibc with modifications.
53149
53150 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53151
53152         * modules/time_r (License): Change to LGPL.
53153         * modules/extensions (License): Change to LGPL.  Actually,
53154         the license is more permissive than that, but currently gnulib-tool
53155         doesn't know how to handle more-permissive licenses.
53156
53157         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
53158         Problem reported by Dave Love.
53159
53160 2005-05-08  Jim Meyering  <jim@meyering.net>
53161
53162         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
53163         blank.
53164
53165 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53166
53167         * modules/argmatch (Depends-on): Add stdbool.
53168         * modules/backupfile (Depends-on): Likewise.
53169         * modules/chdir-long (Depends-on): Likewise.
53170         * modules/closeout (Depends-on): Likewise.
53171         * modules/cycle-check (Depends-on): Likewise.
53172         * modules/dirname (Depends-on): Likewise.
53173         * modules/fnmatch (Depends-on): Likewise.
53174         * modules/fsusage (Depends-on): Likewise.
53175         * modules/fwriteerror (Depends-on): Likewise.
53176         * modules/getcwd (Depends-on): Likewise.
53177         * modules/getloadavg (Depends-on): Likewise.
53178         * modules/hard-locale (Depends-on): Likewise.
53179         * modules/makepath (Depends-on): Likewise.
53180         * modules/mountlist (Depends-on): Likewise.
53181         * modules/nanosleep (Depends-on): Likewise.
53182         * modules/posixtm (Depends-on): Likewise.
53183         * modules/quotearg (Depends-on): Likewise.
53184         * modules/readtokens (Depends-on): Likewise.
53185         * modules/readtokens0 (Depends-on): Likewise.
53186         * modules/readutmp (Depends-on): Likewise.
53187         * modules/save-cwd (Depends-on): Likewise.
53188         * modules/strftime (Depends-on): Likewise.
53189         * modules/userspec (Depends-on): Likewise.
53190         * modules/utimecmp (Depends-on): Likewise.
53191         * modules/xgetcwd (Depends-on): Likewise.
53192         * modules/xnanosleep (Depends-on): Likewise.
53193         * modules/xstrtod (Depends-on): Likewise.
53194         * modules/yesno (Depends-on): Likewise.
53195
53196 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53197
53198         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53199         needless checks.
53200
53201 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53202
53203         Merge from coreutils.  Among other things,
53204         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53205         * lib/fd-safer.c: New file.
53206         * lib/fcntl-safer.h, open-safer.c: Remove.
53207         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53208         * lib/dup-safer.c: Include unistd-safer.h first.
53209         Don't include errno.h.
53210         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53211         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53212         * lib/file-type.c: Rely on file-type.h change.
53213         * lib/getloadavg.c: Include unistd-safer.h.
53214         (getloadavg): Use safer open.
53215         * lib/getusershell.c: Include "stdio-safer.h".
53216         (getusershell): Use safer fopen.
53217         * lib/long-options.c (long_options): Use NULL rather than 0.
53218         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53219         'free'.
53220         * lib/modechange.c: Likewise.
53221         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53222         (MODE_DONE): New constant.
53223         (struct mode_change): Remove 'next' member.
53224         (make_node_op_equals): New function; like the old one of the
53225         same name, except it allocates an array.
53226         (mode_compile, mode_create_from_ref): Use it.
53227         (mode_compile): Allocate result as an array, not a linked list.
53228         Parse octal string ourself, so that we catch mistakes like "+0".
53229         (mode_adjust): Arg is an array, not a linked list.
53230         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53231         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53232         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53233         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53234         Remove.  This is now stat-macros.h's job.
53235         (talloc): Remove.  All callers replaced by xalloc, so that
53236         our invokers don't have to worry about reporting memory failures.
53237         (make_node_op_equals): Remove.
53238         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53239         New constants.
53240         (struct mode_change): Moved here from modechange.h.
53241         (mode_append_entry): Remove.
53242         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53243         apps to have incorrect behavior.  Use simpler algorithm for head
53244         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53245         Detect more invalid usages rather than having somewhat-random behavior.
53246         Don't insert an "a=" action, as that leads to incorrect behavior.
53247         (mode_compile, mode_create_from_ref): Return NULL on error instead
53248         of an enum, since now there's only one way to have an error.  All
53249         callers changed.
53250         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53251         at the correct time.  Simplify calculation of "+u" and its ilk.
53252         Don't mishandle "+X".
53253         (mode_free): Remove "register" and localize decls.
53254         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53255         (struct mode_change): Move to modechange.c; callers don't
53256         need to see this stuff.
53257         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53258         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53259         (mode_change, mode_adjust): Reflect the new signatures noted above.
53260         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53261         that might redefine system include files.
53262         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53263         (my_usleep): Use NULL rather than (void *) 0.
53264         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53265         Use siginterrupt to specify that system calls should be interrupted.
53266         (rpl_nanosleep): Move initialization of suspended closer to call of
53267         my_usleep.
53268         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53269         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53270         (desirable_utmp_entry): New function.
53271         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53272         using x2nrealloc, to simplify logic.
53273         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53274         size calculation.  Do not assume utmp file is a regular file.
53275         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53276         (READ_UTMP_CHECK_PIDS): New constant.
53277         * lib/save-cwd.c: Include unistd-safer.h.
53278         (save_cwd): Use fd_safer.
53279         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53280         [!_LIBC] Include "stat-macros.h" instead.
53281         * lib/unistd-safer.h (fd_safer): New decl.
53282
53283 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53284
53285         * modules/getloadavg (Depends-on): Add unistd-safer.
53286         * modules/getusershell (Depends-on): Add stdio-safer.
53287         * modules/lstat (Depends-on): Remove xalloc.
53288         * modules/mkstemp (Depends-on): Add stat-macros.
53289         * modules/modechange (Depends-on): Remove xstrtol.
53290         Add stat-macros, xalloc.
53291         * modules/save-cwd (Depends-on): Add unistd-safer.
53292         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53293         * modules/unistd-safer (Files): Add lib/fd-safer.c
53294         (Makefile.am): Remove lib_SOURCES.
53295
53296         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53297         Remove fcntl-safer; unistd-safer supersedes it.
53298
53299 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53300
53301         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53302         AC_HEADER_STAT.
53303         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53304         (gl_PREREQ_CHOWN): Remove.
53305         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53306         it.  Don't require AC_HEADER_STAT.
53307         (gl_PREREQ_LSTAT): Remove.
53308         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53309         Don't require AC_HEADER_STAT.
53310         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53311         (gl_PREREQ_RMDIR): Remove.
53312         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53313         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53314         the stat-macros module a prerequisite.
53315         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53316         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53317         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53318         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53319         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53320         variable names.
53321         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53322         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53323         variable prefixes.
53324         * m4/fcntl-safer.m4: Remove.
53325         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53326         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53327         Invoke gl_PREREQ_FD_SAFER.
53328         (gl_PREREQ_FD_SAFER): New macro.
53329         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53330         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53331         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53332         Remove duplicate call to AC_LIBOBJ(readutmp).
53333         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53334
53335         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53336         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53337
53338 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53339
53340         * MODULES.html.sh (Misc): Add byteswap.
53341
53342 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53343
53344         * modules/getcwd (Depends-on): Add extensions.
53345         * modules/openat (Depends-on): Likewise.
53346
53347 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53348
53349         * modules/byteswap: New file.
53350
53351 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53352
53353         * m4/byteswap.m4: New file.
53354
53355 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53356
53357         * lib/byteswap_.h: New file.
53358
53359 2005-04-25  Karl Berry  <karl@gnu.org>
53360
53361         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53362
53363 2005-04-25  Albert Chin  <china@thewrittenword.com>
53364
53365         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53366         Toolkit C bug.
53367
53368 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53369
53370         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53371         (func_ln_if_changed) Remove forcibly for no error message
53372         in case file does not exist.
53373
53374 2005-04-19  Simon Josefsson  <jas@extundo.com>
53375
53376         * gnulib-tool (Options): Make --symlink mean --symbolic.
53377
53378 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53379
53380         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53381
53382 2005-04-16  Simon Josefsson  <jas@extundo.com>
53383
53384         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53385
53386 2005-04-15  Simon Josefsson  <jas@extundo.com>
53387
53388         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53389
53390 2005-04-15  Simon Josefsson  <jas@extundo.com>
53391
53392         * gnulib-tool: Rename --symlink to --symbolic.
53393
53394 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53395
53396         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53397         symbolic links to files instead of copying/moving.  Add --aux-dir,
53398         specifying directory relative --dir where auxiliary build tools
53399         are placed.
53400
53401 2005-04-14  Bruno Haible  <bruno@clisp.org>
53402
53403         * modules/allocsa (License): Change to LGPL.
53404         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53405
53406 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53407
53408         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53409         that "UTC +1 second" continues to work.  Problem reported
53410         by Dmitry V. Levin.
53411         (relunit_snumber): New rule.
53412         (relunit): Use it.
53413
53414 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53415
53416         * lib/getdate.y (universal_time_zone_table): New constant.
53417         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53418         universal_time_zone_table.
53419         (lookup_zone): Prefer universal_time_zone_table to
53420         local_time_zone_table, so that "GMT" time stamps are allowed in
53421         London during the summer.  Problem reported by Ian Abbott.
53422
53423 2005-04-12  Jim Meyering  <jim@meyering.net>
53424
53425         * lib/human.c (humblock): Set *options even when returning due to
53426         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53427         warning from gcc-4.
53428
53429 2005-04-09  Jim Meyering  <jim@meyering.net>
53430
53431         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53432         -Wuninitialized: initialize tm0.tm_year.
53433
53434 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53435
53436         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53437         count, since there's no maximum.  All uses changed.
53438         Add member dsts_seen.
53439         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53440         not being INT_MAX.
53441         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53442         Use pc_rels_seen to decide whther a date is absolute.
53443
53444         * lib/getdate.y (number): Don't overwrite year.
53445         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53446         check.
53447
53448 2005-04-02  Simon Josefsson  <jas@extundo.com>
53449
53450         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53451         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53452
53453 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53454
53455         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53456         where no absolute path name can be longer than PATH_MAX.
53457
53458 2005-03-27  Jim Meyering  <jim@meyering.net>
53459
53460         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53461
53462 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53463
53464         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53465         "one's complement" -> "ones' complement" in comment, as per Knuth.
53466         "value of type" -> "type or expression" in comment.
53467         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53468
53469 2005-03-26  Jim Meyering  <jim@meyering.net>
53470
53471         Comment nits.
53472         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53473         Correct typos: s/or/of/.
53474
53475 2005-03-26  Jim Meyering  <jim@meyering.net>
53476
53477         * modules/check-include-files: Move to ../ and rename to...
53478         * check-module: ...this.
53479
53480 2005-03-25  Jim Meyering  <jim@meyering.net>
53481
53482         * modules/xvasprintf (Files): Add xalloc.h.
53483
53484 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53485
53486         * modules/gettext (Files): config/config.rpath ->
53487         build-aux/config.rpath
53488         * modules/iconv (Files): Likewise.
53489         Problem reported by Oskar Liljeblad.
53490
53491 2005-03-23  Jim Meyering  <jim@meyering.net>
53492
53493         * modules/check-include-files: New script to check for
53494         missing dependencies, multiple includes, etc.
53495
53496         * modules/c-strtold (Depends-on): Add xalloc.
53497         * modules/c-strtod (Depends-on): Add xalloc.
53498         * modules/hash (Depends-on): Add xalloc.
53499         (Files): Remove lib/xalloc.h.
53500
53501         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53502         * modules/userspec (Files): Add lib/inttostr.h.
53503
53504 2005-03-23  Jim Meyering  <jim@meyering.net>
53505
53506         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53507
53508 2005-03-22  Jim Meyering  <jim@meyering.net>
53509
53510         * modules/stat-macros: New module.
53511         * modules/canonicalize, modules/euidaccess, modules/file-type,
53512         * modules/filemode, modules/lchown, modules/makepath,
53513         * modules/rmdir, modules/stat: Depend on new stat-macros module
53514         rather than listing lib/stat-macros.h manually.
53515         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53516
53517 2005-03-22  Jim Meyering  <jim@meyering.net>
53518
53519         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53520
53521 2005-03-22  Bruno Haible  <bruno@clisp.org>
53522
53523         * config/srclist.txt: Replace target directory 'config' with
53524         'build-aux'.
53525         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53526         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53527         ../build-aux/.
53528
53529 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53530
53531         * modules/chdir-long (Depends-on): Add mempcpy.
53532
53533         * modules/acl, modules/backupfile, modules/c-strtod,
53534         modules/c-strtold, modules/canon-host, modules/canonicalize,
53535         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53536         modules/exclude, modules/exitfail, modules/file-type,
53537         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53538         modules/getdate, modules/getline, modules/getpagesize,
53539         modules/getpass, modules/getugroups, modules/group-member,
53540         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53541         modules/inttostr, modules/long-options, modules/makepath,
53542         modules/md5, modules/memcasecmp, modules/memcoll,
53543         modules/modechange, modules/mountlist, modules/path-concat,
53544         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53545         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53546         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53547         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53548         modules/strftime, modules/strndup, modules/strverscmp,
53549         modules/timespec, modules/unlocked-io, modules/userspec,
53550         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53551         modules/yesno:
53552         Remove lib_SOURCES line from Makefile.am section, as this is now
53553         done automatically by the corresponding Autoconf macro.
53554
53555 2005-03-21  Jim Meyering  <jim@meyering.net>
53556
53557         Changes imported from coreutils.
53558
53559         * lib/cycle-check.c: Don't include xalloc.h.
53560
53561         * lib/path-concat.c: Don't include assert.h.
53562         (path_concat): Remove assertion that would have triggered
53563         for ABASE starting with more than one slash.
53564         Reported by Andreas Schwab.
53565
53566         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53567         properly when ABASE is an absolute file name.
53568         Correct the description of this function.
53569         Include <assert.h>.
53570         Add an assertion and a test driver.
53571         This fixes a bug introduced on 2004-07-02.
53572         Andreas Schwab reported the resulting failure of cp --parents:
53573         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53574
53575 2005-03-21  Jim Meyering  <jim@meyering.net>
53576
53577         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53578         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53579
53580 2005-03-21  Jim Meyering  <jim@meyering.net>
53581         and  Paul Eggert  <eggert@cs.ucla.edu>
53582
53583         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53584         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53585         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53586         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53587         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53588         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53589         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53590         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53591         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53592         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53593         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53594         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53595         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53596         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53597         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53598         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53599         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53600         for these modules.
53601
53602 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53603
53604         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53605         (which shouldn't happen), generate nothing instead of returning 0
53606         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53607
53608 2005-03-16  Bruno Haible  <bruno@clisp.org>
53609
53610         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53611         HAVE_LONGLONG_64BIT.
53612
53613 2005-03-16  Bruno Haible  <bruno@clisp.org>
53614
53615         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53616         HAVE_LONGLONG_64BIT.
53617
53618 2005-03-16  Bruno Haible  <bruno@clisp.org>
53619
53620         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53621         HAVE_LONGLONG_64BIT.
53622
53623 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53624
53625         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53626         reliably distinguish strftime failure from empty output on POSIX
53627         hosts.
53628
53629 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53630
53631         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53632         (iconv_string): Don't guess a size-zero buffer, as that might cause
53633         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53634         result would be 'too large', where 'too large' is (heuristically)
53635         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53636         overflow concerns.  This will prevent some unwanted malloc failures
53637         when the inputs are very large.
53638
53639 2005-03-15  Karl Berry  <karl@gnu.org>
53640
53641         * config/srclist.txt (config.rpath): from gettext.
53642         * config/config.rpath: update.
53643
53644 2005-03-15  Bruno Haible  <bruno@clisp.org>
53645
53646         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
53647         to 'negate'.
53648
53649         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
53650         variable.
53651
53652         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
53653         results.
53654
53655 2005-03-14  Simon Josefsson  <jas@extundo.com>
53656
53657         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
53658         <fx@gnu.org>.
53659
53660 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
53661
53662         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
53663         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
53664         intprops.h.
53665         * lib/strtol.c: Likewise.
53666
53667 2005-03-14  Jim Meyering  <jim@meyering.net>
53668
53669         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
53670         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
53671         to be nonzero so that we (and caller) can detect the difference
53672         between a valid zero-length expansion and an error return, even
53673         when the underlying strftime fails before writing anything into
53674         that location.
53675
53676 2005-03-14  Bruno Haible  <bruno@clisp.org>
53677
53678         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
53679         Update from GNU gettext 0.14.3.
53680
53681 2005-03-10  Jim Meyering  <jim@meyering.net>
53682
53683         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
53684
53685 2005-03-10  Jim Meyering  <jim@meyering.net>
53686
53687         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
53688         so that this module works on systems without fchdir.
53689
53690 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53691
53692         Factor int-properties macros into a single file, except for
53693         glibc-related files.
53694         * lib/intprops.h: New file.
53695         * lib/getloadavg.c: Include it instead of limits.h.
53696         (INT_STRLEN_BOUND): Remove.
53697         * lib/human.c: Include intprops.h.
53698         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
53699         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
53700         302/1000.
53701         * lib/inttostr.h: Include intprops.h instead of limits.h.
53702         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
53703         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
53704         for consistency with intprops.h.
53705         (time_t_is_integer, twos_complement_arithmetic): Use them.
53706         * lib/sig2str.h: Include <signal.h>, intprops.h.
53707         (INT_STRLEN_BOUND): Remove.
53708         * lib/strftime.c (TYPE_SIGNED): Remove.
53709         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
53710         * lib/strtol.c: Adjust comments to match intprops.h.
53711         * lib/userspec.c: Include intprops.h.
53712         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
53713         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
53714         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
53715         instead of rolling our own expressions.
53716         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
53717
53718         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
53719         instead of int.
53720         (my_strftime): Do not mishandle years close to INT_MAX, by doing
53721         the right thing even if adding 1900 would overflow.  Similarly
53722         for tm_mon + 1 and tm_yday + 1.
53723         Make %Y always equivalent to %C%y, and similarly for %G and %g.
53724         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
53725         (DO_SIGNED_NUMBER): New macro.
53726         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
53727
53728 2005-03-07  Bruno Haible  <bruno@clisp.org>
53729
53730         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
53731
53732 2005-03-07  Bruno Haible  <bruno@clisp.org>
53733
53734         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
53735
53736 2005-03-04  Derek R. Price  <derek@ximbiot.com>
53737
53738         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
53739         (func_import): Only replace files via --import when they have actually
53740         changed.
53741
53742 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53743
53744         * m4/mmap-anon.m4: New file.
53745         * m4/pagealign_alloc.m4: New file.
53746
53747 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53748             Bruno Haible  <bruno@clisp.org>
53749
53750         * modules/pagealign_alloc: New file.
53751         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
53752
53753 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53754             Bruno Haible  <bruno@clisp.org>
53755
53756         * lib/pagealign_alloc.h: New file.
53757         * lib/pagealign_alloc.c: New file.
53758
53759 2005-03-03  Bruno Haible  <bruno@clisp.org>
53760
53761         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
53762         Use an all-permissive copyright notice, recommended by RMS.
53763
53764 2005-03-02  Bruno Haible  <bruno@clisp.org>
53765
53766         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
53767         of AIX, the replacement has to be done only after <string.h> is
53768         included, therefore not in config.h. stpncpy.h does the replacement,
53769         and stpncpy.c uses it.
53770
53771 2005-03-02  Bruno Haible  <bruno@clisp.org>
53772
53773         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
53774         stpncpy.c uses it.
53775
53776 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53777
53778         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
53779         The workaround isn't strictly needed for POSIX conformance, and
53780         it's too much of a pain to configure and maintain.  We'll ask
53781         people to fix their kernels instead.
53782         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
53783         (NANOSLEEP_BUG_WORKAROUND): Remove.
53784         (xnanosleep): Remove the workaround.
53785
53786 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53787
53788         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
53789         Reported by Derek Price.
53790         (Include): Add "timespec.h".
53791
53792         * modules/xnanosleep (Depends-on): Remove gethrxtime.
53793
53794 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53795
53796         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
53797         to detect nanosleep bug.
53798
53799 2005-03-01  Bruno Haible  <bruno@clisp.org>
53800
53801         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
53802
53803 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53804
53805         * modules/gethrxtime: New file.
53806         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
53807         (Depends-on): Add gethrxtime.
53808         (configure.ac): Add gl_XNANOSLEEP.
53809         (Makefile.am): Remove lib_SOURCES line.
53810
53811 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53812
53813         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
53814         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
53815
53816 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53817
53818         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
53819         * lib/timespec.h (gettime): Return void, since it always
53820         succeeds now.  All uses changed.
53821         * lib/gettime.c (gettime) Likewise.
53822         [HAVE_NANOTIME]: Prefer nanotime.
53823         Assume gettimeofday succeeds, as POSIX requires.
53824         Assime time () succeeds, since other code already does.
53825         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
53826         (timespec_subtract): Remove.
53827         (NANOSLEEP_BUG_WORKAROUND): New constant.
53828         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
53829         things considerably.  Use it only on GNU/Linux hosts, since the
53830         workaround shouldn't be needed elsewhere.
53831
53832 2005-02-24  Bruno Haible  <bruno@clisp.org>
53833
53834         * modules/gettext (Files): Add m4/glibc2.m4.
53835
53836 2005-02-24  Bruno Haible  <bruno@clisp.org>
53837
53838         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
53839         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
53840         * m4/progtest.m4:
53841         Update from GNU gettext 0.14.2.
53842         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
53843
53844 2005-02-24  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/localcharset.c: Update from GNU gettext 0.14.2.
53847         * lib/config.charset: Update from GNU gettext 0.14.2.
53848
53849 2005-02-24  Bruno Haible  <bruno@clisp.org>
53850
53851         * lib/gettext.h: Update from GNU gettext 0.14.2.
53852
53853 2005-02-23  Simon Josefsson  <jas@extundo.com>
53854
53855         * m4/iconvme.m4: New file.
53856
53857 2005-02-23  Jim Meyering  <jim@meyering.net>
53858
53859         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
53860         change.
53861         Thanks to Bruno Haible for catching it.
53862
53863 2005-02-22  Simon Josefsson  <jas@extundo.com>
53864
53865         * modules/iconvme: New file.
53866
53867         * MODULES.html.sh: Add iconvme.
53868
53869 2005-02-22  Simon Josefsson  <jas@extundo.com>
53870
53871         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
53872
53873 2005-02-22  Simon Josefsson  <jas@extundo.com>
53874
53875         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
53876
53877 2005-02-22  Jim Meyering  <jim@meyering.net>
53878
53879         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
53880         s/ifndef/ifdef/.
53881
53882 2005-02-20  Neil Conway  <neilc@samurai.com>
53883
53884         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
53885         returned by OSX/Darwin if the specified buffer is not large
53886         enough for the hostname.
53887
53888 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53889
53890         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
53891         pass it to _help, otherwise the latter coredumps trying to
53892         dereference state.root_argp.
53893
53894 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53895
53896         * modules/chdir-long (Depends-on): Add memrchr.
53897         * modules/memrchr (Files): Add lib/memrchr.h.
53898         (Include): "memrchr.h".
53899
53900 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53901
53902         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
53903
53904 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53905
53906         * lib/memrchr.h: New file.
53907         * lib/chdir-long.c: Include it.
53908         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
53909         Don't bother including stddef.h.
53910
53911 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53912
53913         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
53914         inclusion.
53915         Include <sys/types.h>, for dev_t.
53916         (ME_DUMMY, ME_REMOTE): Move from here....
53917         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
53918         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
53919         Dmitry V. Levin.
53920         Include mountlist.h first, to test the interface.
53921
53922 2005-01-29  Bruno Haible  <bruno@clisp.org>
53923
53924         * lib/progname.c (program_name): Initialize.
53925         Needed when linking statically on MacOS X.
53926
53927 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53928
53929         Sync from coreutils.
53930         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
53931         (Depends-on): Add c-strtod.
53932         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
53933
53934 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53935
53936         Sync from coreutils.
53937         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
53938
53939         Remove files that are specific to coreutils.
53940         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
53941
53942 2005-01-28  Bruno Haible  <bruno@clisp.org>
53943
53944         * modules/javacomp: New file.
53945         * MODULES.html.sh (Java): Add javacomp.
53946
53947 2005-01-28  Bruno Haible  <bruno@clisp.org>
53948
53949         * m4/javacomp.m4: New file, from GNU gettext.
53950
53951 2005-01-28  Bruno Haible  <bruno@clisp.org>
53952
53953         * lib/javacomp.sh.in: New file, from GNU gettext.
53954         * lib/javacomp.h: New file, from GNU gettext.
53955         * lib/javacomp.c: New file, from GNU gettext.
53956
53957 2005-01-26  Simon Josefsson  <jas@extundo.com>
53958
53959         * lib/gai_strerror.c: Use GPL in header.
53960
53961 2005-01-26  Bruno Haible  <bruno@clisp.org>
53962
53963         * modules/javaexec: New file.
53964         * MODULES.html.sh (Java): Add javaexec.
53965
53966 2005-01-26  Bruno Haible  <bruno@clisp.org>
53967
53968         * m4/javaexec.m4: New file, from GNU gettext.
53969
53970 2005-01-26  Bruno Haible  <bruno@clisp.org>
53971
53972         * lib/javaexec.sh.in: New file, from GNU gettext.
53973         * lib/javaexec.h: New file, from GNU gettext.
53974         * lib/javaexec.c: New file, from GNU gettext.
53975
53976 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53977
53978         * modules/lchown (Depends-on): Remove lchown.h
53979
53980 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53981
53982         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
53983         must be defined if the header file was not found, in order
53984         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
53985
53986 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53987
53988         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
53989         initializers for struct pentry_state.
53990         (__argp_error): Check return value of __asprintf
53991         (__argp_failure): Translate error message
53992
53993         * lib/argp-parse.c: Removed braces around the expansion of N_()
53994
53995 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53996
53997         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
53998         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
53999         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54000         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54001         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54002         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54003         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54004         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54005         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54006         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54007         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54008         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54009         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54010         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54011         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54012         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54013         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54014         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54015         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54016         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54017         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54018         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54019         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54020         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54021         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54022         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54023         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54024         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54025         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54026         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54027         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54028         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54029         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54030         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54031         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54032         Use an all-permissive copyright notice, recommended by RMS.
54033
54034 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54035
54036         * modules/chdir-long (Depends-on): Remove mempcpy.
54037
54038 2005-01-21  Jim Meyering  <jim@meyering.net>
54039
54040         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54041         same value as for Solaris 9.
54042
54043         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54044         component length.  This included changing the parameter to be
54045         of type `char *' rather than `char const *'.
54046         * lib/chdir-long.h (chdir_long): Update prototype.
54047
54048         * lib/openat.c (fdopendir, fstatat): New functions.
54049         * lib/openat.h: Include headers required for use of DIR and struct
54050         stat.
54051         [AT_SYMLINK_NOFOLLOW]: Define.
54052         (fdopendir, fstatat): Add prototypes.
54053
54054 2005-01-21  Bruno Haible  <bruno@clisp.org>
54055
54056         * modules/classpath: New file.
54057         * MODULES.html.sh (Java): Add classpath.
54058
54059 2005-01-21  Bruno Haible  <bruno@clisp.org>
54060
54061         * lib/classpath.h: New file, from GNU gettext.
54062         * lib/classpath.c: New file, from GNU gettext.
54063
54064 2005-01-20  Simon Josefsson  <jas@extundo.com>
54065
54066         * modules/version-etc-fsf: New file.
54067
54068 2005-01-20  Simon Josefsson  <jas@extundo.com>
54069
54070         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54071         * lib/version-etc.c: Remove version_etc_copyright.
54072         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54073         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54074
54075 2005-01-20  Simon Josefsson  <jas@extundo.com>
54076
54077         * lib/base64.h (isbase64): Add.
54078
54079         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54080         using a unsigned prototype, don't inline.
54081         (base64_decode): Use it.
54082
54083 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54084
54085         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54086         it.
54087
54088 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54089
54090         * lib/save-cwd.c (save_cwd): Remove code to support the case
54091         where fchdir is missing or flaky.
54092
54093 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54094
54095         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54096
54097 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54098
54099         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54100         AC_LIBSOURCES now does this.
54101         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54102         with new ullong_max module.
54103
54104 2005-01-19  Bruno Haible  <bruno@clisp.org>
54105
54106         * modules/sh-quote: New file.
54107         * MODULES.html.sh (Executing programs): Add sh-quote.
54108
54109 2005-01-19  Bruno Haible  <bruno@clisp.org>
54110
54111         * lib/sh-quote.h: New file, from GNU gettext.
54112         * lib/sh-quote.c: New file, from GNU gettext.
54113
54114 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54115
54116         Merge from coreutils.
54117         * m4/ullong_max.m4: New file.
54118         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54119         (gl_MACROS): Assume localeconv exists.
54120
54121 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54122
54123         Merge changes from coreutils, as described below in several
54124         changelogs dated today.
54125
54126         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54127         (O_DIRECTORY): Remove; not needed here, since "." must be
54128         a directory.  All uses removed.
54129         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54130         universal on Suns, and we also need to test for IRIX.
54131         Revamp code to use 'if' rather than '#if'.
54132         Avoid unnecessary comparison of cwd->desc to 0.
54133
54134         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54135         for known valid error numbers rather than observed invalid ones.
54136
54137 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54138
54139         * modules/ullong_max: New file.
54140
54141         * modules/chdir-long, modules/openat: New files.
54142         * modules/save-cwd (Depends-on): Depend on chdir-long.
54143         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54144
54145 2005-01-18  Jim Meyering  <jim@meyering.net>
54146
54147         Merge from coreutils.
54148         * m4/chdir-long.m4, m4/openat.m4: New files.
54149         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54150         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54151         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54152         is sane and DOES follow symlinks.  Besides, testing 20 different
54153         systems found no broken chown implementations.
54154         Prompted by a change in rsync's copy of this macro.
54155         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54156
54157         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
54158
54159         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
54160         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
54161         NULL-means-set-to-current-time semantics.
54162         Remove temporary file immediately, rather than waiting
54163         for configure's at-exit trap code to do it.
54164
54165 2005-01-18  Jim Meyering  <jim@meyering.net>
54166
54167         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54168
54169         * lib/utimens.c (futimens): Account for the fact that futimes
54170         can also fail with errno == ENOSYS or errno == ENOENT.
54171         Patch from Dmitry V. Levin.
54172
54173         Change the name of the robust chdir function from chdir to chdir_long.
54174         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
54175         (restore_cwd): Use chdir_long, not chdir.
54176         * lib/chdir-long.c: Renamed from chdir.c.
54177         * lib/chdir-long.h: Renamed from chdir.h.
54178         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
54179         Hurd.
54180
54181 2005-01-18  Bruno Haible  <bruno@clisp.org>
54182
54183         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
54184         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
54185         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
54186         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54187         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54188         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54189         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54190         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54191         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54192         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54193         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54194         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54195         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54196         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54197         Use an all-permissive copyright notice, recommended by RMS.
54198
54199 2005-01-18  Bob Proulx  <bob@proulx.com>
54200
54201         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54202         simplify offsetof() macro construct to avoid compile failure with
54203         native HP-UX 11.0 ANSI C compiler.
54204
54205 2005-01-17  Bruno Haible  <bruno@clisp.org>
54206
54207         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54208         redundant because stpncpy.m4 takes care of it.
54209
54210 2005-01-17  Bruno Haible  <bruno@clisp.org>
54211
54212         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54213
54214 2005-01-17  Bruno Haible  <bruno@clisp.org>
54215
54216         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54217         used.
54218
54219 2005-01-17  Bruno Haible  <bruno@clisp.org>
54220
54221         * lib/fwriteerror.h (fwriteerror): Change specification to include
54222         fclose.
54223         * lib/fwriteerror.c: Include <stdbool.h>.
54224         (fwriteerror): At the end, close the file stream. Record whether
54225         stdout was already closed.
54226
54227 2005-01-17  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/execute.c (environ): Declare if needed.
54230         * lib/pipe.c (environ): Likewise.
54231         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54232
54233 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54234
54235         * modules/argp: Depend on vsnprintf
54236
54237 2005-01-10  Jim Meyering  <jim@meyering.net>
54238
54239         * modules/closeout (Depends-on): Add atexit.
54240
54241 2005-01-06  Bruno Haible  <bruno@clisp.org>
54242
54243         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54244
54245 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54246
54247         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54248         definitions to be after all include files, to avoid collisions.
54249         Problem reported by Bob Proulx.
54250
54251 2005-01-04  Jim Meyering  <jim@meyering.net>
54252
54253         Changes imported from coreutils.
54254         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54255         as the mkstemp template, use a temporary directory and an
54256         8.3-friendly template to avoid trouble on systems like DJGPP.
54257         Reported by Juan M. Guerrero via Stepan Kasal.
54258         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54259         close. Remove the temporary directory right away, rather than waiting
54260         for configure's at-exit trap code to do it.
54261         Suggestion from Stepan Kasal.
54262
54263 2005-01-01  Simon Josefsson  <jas@extundo.com>
54264
54265         * gnulib-tool: Print #include directives when --import'ing.
54266
54267 2004-12-28  Simon Josefsson  <jas@extundo.com>
54268
54269         * tests/test-base64.c: Include required header files.  Remove
54270         unused variables.
54271
54272 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54273
54274         * modules/error (Depends-on): Remove gettext.
54275
54276 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54277
54278         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54279         not needed.  This removes a dependency on the gettext module.
54280         [defined _LIBC]: Do not include <libintl.h>; not needed.
54281
54282 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54283
54284         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54285         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54286
54287 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54288
54289         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54290         HAVE_DECL_STRTOLD.
54291
54292 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54293
54294         * modules/getdate (Depends-on): Remove alloca-opt.
54295
54296 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54297
54298         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54299
54300 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54301
54302         * lib/argp-parse.c: Include <stddef.h>.
54303         (alignof, alignto): New macros.
54304         (parser_init): Don't assume that void * is aligned sufficiently
54305         for struct option.
54306
54307         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54308         need to extend the stack.
54309         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54310         large.
54311
54312 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54313
54314         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54315
54316 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54317
54318         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54319         (2004-10-24) change.  Apparently this was a false alarm.
54320
54321         * modules/getdate: Depend on alloca-opt, not alloca.
54322
54323 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54324
54325         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54326         Remove now-obsolete comment about AIX.
54327         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54328         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54329         (YYMAXDEPTH): New macro.
54330
54331 2004-12-18  Simon Josefsson  <jas@extundo.com>
54332
54333         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54334
54335 2004-12-18  Bruno Haible  <bruno@clisp.org>
54336
54337         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54338
54339 2004-12-18  Bruno Haible  <bruno@clisp.org>
54340
54341         * lib/fatal-signal.c (fatal_signals): Make non-const.
54342         (init_fatal_signals): New function.
54343         (uninstall_handlers, install_handlers): Ignore signals that were set to
54344         SIG_IGN.
54345         (at_fatal_signal): Call init_fatal_signals.
54346         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54347         SIG_IGN.
54348         Reported by Paul Eggert.
54349
54350 2004-12-18  Bruno Haible  <bruno@clisp.org>
54351
54352         * doc/alloca.texi: New file.
54353         * doc/alloca-opt.texi: New file.
54354
54355 2004-12-17  Jim Meyering  <jim@meyering.net>
54356
54357         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54358         Otherwise, install-sh could exit with improper exit status when
54359         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54360
54361 2004-12-16  Simon Josefsson  <jas@extundo.com>
54362
54363         * tests/test-base64.c: Add license.
54364
54365 2004-12-15  Stepan Kasal  <address@hidden>
54366
54367         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54368
54369 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54370
54371         * modules/getcwd (Files): Add m4/d-ino.m4.
54372         Suggested by Mark D. Baushke.
54373
54374 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54375
54376         * lib/getdate.y (textint): New member "negative".
54377         (time_zone_hhmm): New function.
54378         Expect 14 shift-reduce conflicts, not 13.
54379         (o_colon_minutes): New rule.
54380         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54381         (yylex): Set the "negative" member of signed numbers.
54382
54383 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54384
54385         * doc/getdate.texi (Time of day items, Time zone items):
54386         Describe new formats +00:00, UTC+00:00.
54387
54388 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54389
54390         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54391         spurious "-l"s.  Problem reported by Stepan Kasal.
54392
54393 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54394
54395         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54396         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54397
54398 2004-12-04  Simon Josefsson  <jas@extundo.com>
54399
54400         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54401         Vandoorselaere <yoann@prelude-ids.org>.
54402
54403 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54404
54405         Changes imported from coreutils.
54406         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54407         exist.
54408         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54409
54410 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54411
54412         Changes imported from coreutils.
54413         * lib/hard-locale.c: Assume <locale.h> exists.
54414         Include "strdup.h".
54415         (GLIBC_VERSION): New macro.
54416         (hard_locale): Assume setlocale exists.
54417         Rewrite to avoid #ifdef.
54418         Use strdup rather than malloc + strcpy.
54419         * lib/human.c: Assume <locale.h> exists.
54420         (human_readable): Assume localeconv exists.
54421
54422 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54423
54424         * modules/hard-locale (Depends-on): Add strdup.
54425
54426 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54427
54428         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54429         convert T2, not T.  (Imported from libc.)
54430
54431 2004-11-30  Simon Josefsson  <jas@extundo.com>
54432
54433         * modules/restrict (License): Change to LGPL.
54434
54435 2004-11-30  Simon Josefsson  <jas@extundo.com>
54436
54437         * m4/restrict.m4: Add copyright and copying conditions.
54438
54439 2004-11-30  Simon Josefsson  <jas@extundo.com>
54440
54441         * m4/base64.m4: New file.
54442
54443 2004-11-30  Simon Josefsson  <jas@extundo.com>
54444
54445         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54446         base64.
54447
54448         * tests/test-base64.c: New file.
54449
54450         * modules/base64: New file.
54451
54452 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54453
54454         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54455         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54456
54457         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54458
54459 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54460
54461         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54462         (__getcwd.c): Don't restore errno; glibc doesn't.
54463         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54464         first, falling back to our code only if its results look suspicious.
54465         Ensure that the resulting buffer is only as large as necessary.
54466
54467         * lib/readutmp.c: Include readutmp.h first.
54468         Include <errno.h>, since readutmp.h no longer does that.
54469         * lib/readutmp.h: Don't include <errno.h>,
54470         <sys/param.h>, <time.h>; not needed to establish interface.
54471         (errno): Remove decl.
54472         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54473         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54474         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54475
54476 2004-11-28  Simon Josefsson  <jas@extundo.com>
54477
54478         * lib/base64.h, base64.c: New file.
54479
54480 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54481
54482         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54483
54484 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54485
54486         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54487         (Depends-on): Remove pathmax, same.  Add mempcpy.
54488         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54489         (Makefile.am): Append getcwd.h to lib_SOURCES.
54490         (Include): Add getcwd.h.
54491         (Maintainer): Change from Jim Meyering to "all, glibc",
54492         since getdate now uses intended-for-glibc code.
54493         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54494         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54495
54496 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54497
54498         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54499         HP's ANSI C compiler.
54500         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54501         Declaring int functions causes warnings on some modern systems and
54502         shouldn't be needed to compile on ancient ones.
54503         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54504         defined.
54505
54506         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54507         with the following changes.
54508         (__set_errno): Parenthesize properly.
54509         Include <stdbool.h>.
54510         (MIN, MAX, MATCHING_INO): New macros.
54511         (__getcwd): Define with prototype, not K&R form.
54512         Use heuristics to allocate default buffer on stack if possible.
54513         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54514         behavior, and to avoid the PATH_MAX limit when computing
54515         ../../../../...
54516         Use MATCHING_INO to compare inode number to file.
54517         Check for arithmetic overflow in size calculations.
54518         Fix bug in reallocation of dot array that caused getcwd to fail
54519         on directories nested deeper than 75.
54520         Be more careful about saving errno on error.
54521         Do not use realloc; use only free+malloc, as this is a bit
54522         more flexible and avoids a needless copy operation.
54523         Do not inspect st_dev and st_ino for symbolic links; POSIX
54524         doesn't specify the latter.
54525         Check for closedir errors.
54526         Avoid needless casts.
54527         Use "#ifdef weak_alias" around weak_alias, to be like other
54528         glibc code.
54529         The following changes to getcwd.c have effect only when used in
54530         gnulib; they have no effect inside glibc proper.
54531         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54532         as alloca isn't used.
54533         (alloca, __alloca): Likewise.
54534         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54535         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54536         unconditionally, as gnulib assumes C89 or better.
54537         Do not include <sys/param.h>.
54538         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54539         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54540         better.
54541         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54542         Include <dirent.h> in a way that is compatible with modern Autoconf.
54543         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54544         New macros, if not already defined.
54545         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54546         Use "_LIBC", not "defined _LIBC", for consistency.
54547         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54548         a mempcpy module.
54549         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54550         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54551         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54552         credit only to Jim Meyering and adjust the copyright dates.
54553         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54554         <stdlib.h>, <unistd.h>, "pathmax.h".
54555         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54556         (INITIAL_BUFFER_SIZE): Remove.
54557         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54558
54559 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54560
54561         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54562         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54563         Use the _ONCE methods, for efficiency.
54564         Check for fcntl.h.  In test program, include <errno.h>
54565         and <fcntl.h> if available.  Remove old K&R cruft from
54566         test program.  Check for common errors in GNU/Linux,
54567         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54568         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54569         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54570         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54571         name accordingly.
54572         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54573         accommodate new getcwd.c.
54574         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54575         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54576         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54577         that's all we need now.
54578
54579 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54580
54581         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54582         argp-parse.c depends on getopt internals, that means we should
54583         always use our getopt, to be on the safe side.
54584         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54585         order not to spoil the result of an eventual previous invocation
54586         of gl_GETOPT_SUBSTITUTE.
54587
54588 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54589
54590         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54591         redefinition warnings. To avoid them, include the defines
54592         in `#if !defined __need_getopt ... #endif'. The only place
54593         where __getopt_argv_const is used is in definitions
54594         of getopt_long and getopt_long_only below, which are as well
54595         protected by `#ifndef __need_getopt'.
54596         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54597         __need_getopt after including <stdio.h> and <unistd.h> These
54598         headers might have defined it.
54599
54600 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54601
54602         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54603
54604 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54605
54606         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54607         (futimens): New function, which uses futimes if available.
54608         (futimens, utimens): Support timespec==NULL, with same semantics
54609         as utime and utimens.
54610         * lib/utimens.h (futimens): New decl.
54611
54612 2004-11-23  Jim Meyering  <jim@meyering.net>
54613
54614         * lib/getopt_.h: Remove trailing blanks.
54615
54616 2004-11-23  Jim Meyering  <jim@meyering.net>
54617
54618         * lib/__fpending.c: Add comment.
54619
54620 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54621
54622         * modules/canonicalize (Depends-on): Add xreadlink.
54623         Problem reported by James Youngman.
54624
54625 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54626
54627         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54628         New macros.
54629         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54630         optopt): Use them instead of invoking ## directly; otherwise, the
54631         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54632
54633 2004-11-19  Bruno Haible  <bruno@clisp.org>
54634
54635         * lib/strtok_r.c: Move comments from here...
54636         * lib/strtok_r.h: ... to here.
54637
54638 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54639
54640         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
54641         implementations that mishandle size_t overflow.
54642
54643 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54644
54645         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
54646         might fail.  Problem reported by Yoann Vandoorselaere.
54647         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
54648         implementations that mishandle size_t overflow.
54649
54650 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54651
54652         * modules/canon-host (Depends-on): Add strdup.
54653
54654 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54655
54656         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
54657
54658 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54659
54660         * lib/canon-host.c: Include "strdup.h".
54661         (canon_host): Use getaddrinfo if available, so that IPv6 works.
54662         Use strdup instead of malloc/strcpy to duplicate strings.
54663
54664         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
54665         (human_space_before_unit): New constant.
54666         * lib/human.c (human_readable): Support it.
54667
54668         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
54669         (xgetcwd): Set errno correctly when failing.
54670         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
54671         the failure is actually due to a PATH_MAX problem.
54672
54673         Further getopt changes to make it more likely that glibc will
54674         buy the changes back.
54675         * lib/getopt.c (POSIXLY_CORRECT): New constant.
54676         (getopt): Use it, so to preserve glibc semantic
54677         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
54678         when compiling for libc.
54679         * lib/getopt_.h (__getopt_argv_const): Bring it back.
54680         (getopt_long, getopt_long_only): Use it.
54681
54682         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54683         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
54684         (getopt): Argv is now char * const *, as per standard.
54685         (_getopt_internal_r, _getopt_internal): Argv is now char **,
54686         not char *__getopt_argv_const *.
54687         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54688         _getopt_long_only_r): Likewise.
54689         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
54690         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54691         _getopt_long_r, _getopt_long_only_r): Likewise.
54692         * lib/getopt_.h (__getopt_argv_const): Remove.
54693         (getopt): Argv is now char * const *, as per standard.
54694
54695         * lib/getdate.y (tORDINAL): New token.
54696         (day, relunit): Allow it for relative times.
54697         (relative_time_table): Use tORDINAL for ordinals.
54698
54699 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54700
54701         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
54702         Document that "second" isn't allowed as an ordinal number.
54703
54704 2004-11-16  Jim Meyering  <jim@meyering.net>
54705
54706         * modules/closeout (Depends-on): Add fpending.
54707
54708 2004-11-15  Jim Meyering  <jim@meyering.net>
54709
54710         * lib/closeout.c: Include "__fpending.h" once again.
54711         Include <stdbool.h>.
54712         (close_stdout): Don't fail just because stdout was closed initially,
54713         since some programs don't write to stdout in the normal course of
54714         operation (other than --version and --help), and we don't want this
54715         function to make e.g. `touch file >&-' fail.
54716         But do fail if it was closed and someone has tried to write to it.
54717         E.g., `printf foo >&-' must fail.
54718
54719 2004-11-13  Jim Meyering  <jim@meyering.net>
54720
54721         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
54722
54723 2004-11-12  Simon Josefsson  <jas@extundo.com>
54724
54725         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
54726         small doc fix is still pending.
54727
54728 2004-11-11  Simon Josefsson  <jas@extundo.com>
54729
54730         * modules/strtok_r: New file.
54731
54732         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54733         strtok_r.
54734
54735 2004-11-11  Simon Josefsson  <jas@extundo.com>
54736
54737         * m4/strtok_r.m4: New file.
54738
54739         * m4/getopt.m4: Replace opterr.
54740
54741 2004-11-11  Simon Josefsson  <jas@extundo.com>
54742
54743         * lib/strtok_r.h, strtok_r.c: New file.
54744
54745 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54746
54747         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
54748         of replacing opterr, getopt, etc.  This should handle the
54749         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
54750
54751 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54752
54753         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
54754         we can stop lying to compilers about the constness of argv when we
54755         are compiled outside glibc.
54756         (getopt, getopt_long, getopt_long_only): Use it.
54757         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54758         _getopt_internal, getopt): Likewise.
54759         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54760         _getopt_long_only_r): Likewise.
54761         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54762         _getopt_long_r, _getopt_long_only_r): Likewise.
54763
54764         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
54765         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
54766         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
54767         the other external symbols.
54768         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
54769         declaration, since the above renaming now works around collisions.
54770
54771 2004-11-11  Jim Meyering  <jim@meyering.net>
54772
54773         * lib/linebreak.c: Remove trailing blanks.
54774         * lib/alloca_.h: Likewise.
54775         * lib/acosl.c: Likewise.
54776         * lib/euidaccess.c: Likewise.
54777         * lib/allocsa.h: Likewise.
54778
54779 2004-11-10  Simon Josefsson  <jas@extundo.com>
54780
54781         * m4/getaddrinfo.m4: New file.
54782
54783 2004-11-10  Simon Josefsson  <jas@extundo.com>
54784
54785         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
54786
54787 2004-11-10  Simon Josefsson  <jas@extundo.com>
54788
54789         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54790         getaddrinfo.
54791
54792         * modules/getaddrinfo: New file.
54793
54794 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54795
54796         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
54797
54798 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54799
54800         * lib/mktime.c (SHR): New macro, which is a portable
54801         substitute for >> that should work even on Crays.
54802         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
54803         Problem reported by Mark D. Baushke in
54804         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
54805         * lib/getdate.y (SHR): Likewise.
54806         (tm_diff): Use it.
54807         * lib/strftime.c (SHR): Likewise.
54808         (tm_diff): Use it.
54809         * lib/quotearg.c (struct quoting_options): Use unsigned int for
54810         quote_these_too, so that right shifts are well defined.  All uses
54811         changed.
54812
54813 2004-11-10  Jim Meyering  <jim@meyering.net>
54814
54815         Ensure that no close failure goes unreported.
54816         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
54817         return early when it seems there's nothing to flush.
54818         Don't include __fpending.h.
54819
54820 2004-11-10  Jim Meyering  <jim@meyering.net>
54821
54822         * modules/closeout (Depends-on): Remove fpending.
54823
54824 2004-11-10  Jim Meyering  <jim@meyering.net>
54825
54826         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
54827
54828 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54829
54830         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
54831         gl_FUNC_STRFTIME.
54832         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
54833         and AC_REQUIRE when possible, to avoid duplicate checks.
54834         Check for <wchar.h>.
54835
54836 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54837
54838         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
54839
54840 2004-11-09  Bruno Haible  <bruno@clisp.org>
54841
54842         * m4/sockpfaf.m4: New file.
54843
54844 2004-11-05  Bruno Haible  <bruno@clisp.org>
54845
54846         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
54847         Reported by Mark D. Baushke <mdb@cvshome.org>.
54848
54849 2004-11-04  Bruno Haible  <bruno@clisp.org>
54850
54851         2004-09-11  Bruno Haible  <bruno@clisp.org>
54852                 * allocsa.valgrind: New file.
54853         2004-02-06  Bruno Haible  <bruno@clisp.org>
54854                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
54855                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
54856                 Reported by Christopher Seip <chris.seip@hp.com>.
54857
54858 2004-11-04  Bruno Haible  <bruno@clisp.org>
54859
54860         * modules/allocsa (Files): Add lib/allocsa.valgrind.
54861         (Makefile.am): Distribute it.
54862
54863 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54864
54865         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
54866         with errno == ERANGE if the buffer is too small.
54867         Problem reported by Mark D. Baushke.
54868
54869 2004-11-03  Albert Chin  <china@thewrittenword.com>
54870             Paul Eggert  <eggert@cs.ucla.edu>
54871
54872         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
54873         equivalent, substitute $ac_type for equivalent type rather than
54874         blindly using uint32_t *always* which won't work if uint32_t is not
54875         available.  Define _UINT32_T to work around typedef of uint32_t if
54876         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
54877         2.5.1.
54878
54879 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54880
54881         * m4/jm-macros.m4: Sync from coreutils.
54882         (gl_MACROS): Check for mbrlen, for pathchk.
54883         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
54884
54885 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54886
54887         * lib/xreadlink.c (MAXSIZE): New macro.
54888         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
54889         size does not exceed MAXSIZE.  Avoid cast.
54890         As suggested by Mark D. Baushke in
54891         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
54892         if readlink fails with buffer size just under MAXSIZE, try again
54893         with MAXSIZE.
54894
54895 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54896
54897         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
54898
54899 2004-11-02  Derek R. Price  <derek@ximbiot.com>
54900         and  Paul Eggert  <eggert@cs.ucla.edu>
54901
54902         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
54903         (get_date): Overparenthesize to avoid GCC warning.
54904
54905 2004-11-02  Bruno Haible  <bruno@clisp.org>
54906
54907         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
54908         returns void.
54909
54910 2004-11-02  Bruno Haible  <bruno@clisp.org>
54911
54912         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
54913         function returns void.
54914
54915 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54916
54917         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
54918         fflush_unlocked, flockfile, funlockfile, funlockfile,
54919         fputs_unlocked, putc_unlocked.
54920
54921 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54922
54923         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
54924         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
54925         already declared.
54926
54927 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54928
54929         * modules/getdate (Files): Add doc/getdate.texi.
54930         (Depends-on): Add setenv, xalloc.
54931
54932 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54933
54934         * lib/getdate.y: Add support for TZ="foo" within a date string.
54935         Fix some bugs near time_t boundaries.  Reject dates with
54936         out-of-range components, e.g., "Sept 31".
54937         Include <stdlib.h>, "setenv.h", "xalloc.h".
54938         (ISDIGIT_LOCALE): Remove; unused.
54939         Note that the TZ and time functions used here are not reentrant.
54940         (mktime_ok, get_tz): New functions.
54941         (TZBUFSIZE): New constant.
54942         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
54943         This requires that we sometimes generate our own TZ="XXX..." setting.
54944
54945 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54946
54947         * doc/getdate.texi: New file, from coreutils with modifications for
54948         the new TZ parsing.
54949
54950 2004-10-27  Derek R. Price  <derek@ximbiot.com>
54951
54952         * lib/mktime.c (not_equal_tm): Remove redundant check.
54953
54954 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54955
54956         * modules/regex (lib_SOURCES): Add regex.c.
54957         Reported by James Youngman in
54958         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
54959
54960 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54961
54962         * lib/getdate.y: Use Bison 1.875 features, and some minor
54963         code cleanups.  This change does not affect semantics.
54964         Don't include <stdlib.h>; no longer needed.
54965         Don't include unlocked-io.h; only the "#if TEST" code uses
54966         stdio, and performance isn't crucial there.
54967         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
54968         Bison 1.875 features as described below.
54969         All uses of "PC." replaced by "pc->".
54970         (YYSTYPE): Add a forward declaration.
54971         (yylex, yyerror): Use full prototypes in forward decls.
54972         Use "%pure-parser" rather than obsolescent "%pure_parser".
54973         Use %parse-param and %lex-param instead of obsolescent
54974         YYPARSE_PARAM and YYLEX_PARAM.
54975         (meridian_table, month_and_day_table, time_units_table,
54976         relative_time_table, time_zone_table, military_table,
54977         lookup_zone, lookup_word, get_date):
54978         Use NULL instead of 0 where appropriate.
54979         (to_hour): Avoid abort (), to avoid a dependency on
54980         stdlib.h.
54981         (yyerror, yylex): Now accepts parser_control * arg.
54982         (main) [TEST]: Use '\0' rather than 0 for char.
54983
54984 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54985
54986         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
54987
54988 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54989
54990         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
54991         It's now the caller's responsibility to handle the case where
54992         !HAVE_GETPAGESIZE && !defined getpagesize.
54993
54994         * lib/mktime.c (leapyear): Arg is long int, not int.
54995
54996 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
54997
54998         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
54999
55000 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55001
55002         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55003         missing.  Problem reported by James Youngman.
55004
55005 2004-10-16  Simon Josefsson  <jas@extundo.com>
55006
55007         * gnulib-tool: Fix comments.  Fix parse problem.
55008         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55009
55010 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55011
55012         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55013         implementation of getopt_long.  Problem reported by Alexander Taler in:
55014         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55015
55016 2004-10-15  Bruno Haible  <bruno@clisp.org>
55017
55018         * gnulib-tool: Untabify. Initialize supplied_libname.
55019         (func_usage): More homogenous output.
55020         (func_modules_transitive_closure, func_modules_to_filelist,
55021         func_emit_lib_Makefile_am): New functions.
55022         (func_import): New function, extracted from big case statement. Use
55023         func_get_license, func_modules_transitive_closure,
55024         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55025         opt_lgpl. Don't use test -a, as it's not portable.
55026         (func_create_testdir): Use func_modules_transitive_closure,
55027         func_modules_to_filelist, func_emit_lib_Makefile_am.
55028
55029 2004-10-15  Bruno Haible  <bruno@clisp.org>
55030
55031         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55032
55033 2004-10-15  Bruno Haible  <bruno@clisp.org>
55034
55035         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55036         the portions belonging to each module.
55037         Suggested by Derek Robert Price <derek@ximbiot.com>.
55038
55039 2004-10-12  Simon Josefsson  <jas@extundo.com>
55040
55041         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55042         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55043         to real functions.
55044
55045 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55046
55047         * modules/vsnprintf: New file.
55048
55049 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55050
55051         * m4/vsnprintf.m4: New file.
55052
55053 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55054
55055         * lib/vsnprintf.h: New file.
55056         * lib/vsnprintf.c: New file.
55057
55058 2004-10-11  Bruno Haible  <bruno@clisp.org>
55059
55060         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55061         vsnprintf.
55062
55063 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55064
55065         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55066
55067 2004-10-07  Bruno Haible  <bruno@clisp.org>
55068
55069         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55070         fits into the provided buffer.
55071
55072 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55073
55074         * lib/diacrit.c, diacrit.h: Add GPL notice.
55075
55076         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55077         notice.
55078         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55079         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55080         This avoids a potential constant-folding bug.
55081
55082 2004-10-05  Bruno Haible  <bruno@clisp.org>
55083
55084         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55085         for the declaration of strsep.
55086
55087 2004-10-05  Bruno Haible  <bruno@clisp.org>
55088
55089         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55090
55091 2004-10-04  Simon Josefsson  <jas@extundo.com>
55092
55093         * modules/memmem: New file.
55094         * tests/test-memmem.c: New file.
55095         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55096
55097 2004-10-04  Simon Josefsson  <jas@extundo.com>
55098
55099         * m4/memmem.m4: New file.
55100
55101 2004-10-04  Simon Josefsson  <jas@extundo.com>
55102
55103         * lib/memmem.h: New file.
55104         * lib/memmem.c: New file, taken from glibc.
55105
55106 2004-10-04  Simon Josefsson  <jas@extundo.com>
55107
55108         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55109         '#ifdef USE_UNLOCKED_IO'.
55110
55111 2004-10-04  Simon Josefsson  <jas@extundo.com>
55112
55113         * config/srclist.txt: Add memmem from glibc.
55114
55115 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55116
55117         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55118
55119         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55120         modules/exclude, modules/getdate, modules/getline,
55121         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55122         modules/getusershell, modules/linebuffer, modules/md5,
55123         modules/mountlist, modules/posixtm, modules/readtokens,
55124         modules/readutmp, modules/regex, modules/sha1,
55125         modules/version-etc, modules/yesno:
55126         Remove dependency on unlocked-io.
55127
55128 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55129
55130         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55131
55132         * m4/unlocked-io.m4: Add copyright notice.
55133         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55134
55135 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55136
55137         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55138         * lib/xmalloc.c (xmemdup): Likewise.
55139         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55140         XFREE): Remove these long-obsolescent macros.
55141         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55142         * lib/xstrdup.c: Remove.
55143
55144         * lib/regex.c (re_comp): Cast gettext return value to char *,
55145         Problem reported by Martin Neitzel via Mark D. Baushke.
55146
55147 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55148
55149         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55150         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55151         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55152         regex.c, sha1.c, version-etc.c, yesno.c:
55153         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55154         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55155         the includer's responsibility.
55156
55157         Sync from coreutils.
55158
55159         * lib/modechange.c (mode_compile): Don't decrement a pointer that
55160         points to the start of a string, as the C Standard says the
55161         resulting behavior is undefined.
55162
55163         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
55164         simple -> simple_backups, numbered_existing ->
55165         numbered_existing_backups, numbered -> numbered_backups
55166         to avoid shadowing problems.  All uses changed.
55167         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
55168         * lib/backupfile.c (check_extension, numbered_backup):
55169         Rename locals to avoid shadowing 'basename'.
55170         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
55171         once.
55172
55173         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
55174         * lib/.cvsignore: Add getopt.h.
55175
55176 2004-10-04  Bruno Haible  <bruno@clisp.org>
55177
55178         * modules/README: New file.
55179         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
55180         not a module.
55181
55182 2004-10-02  Jim Meyering  <jim@meyering.net>
55183
55184         * lib/dirfd.h, getpagesize.h: Add copyright notice.
55185
55186 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55187
55188         * modules/strsep: New file.
55189
55190 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55191
55192         * m4/strsep.m4: New file.
55193
55194 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55195
55196         * lib/strsep.h: New file.
55197         * lib/strsep.c: New file.
55198
55199 2004-10-01  Simon Josefsson  <jas@extundo.com>
55200
55201         * lib/snprintf.c (snprintf): Handle size==0.
55202
55203 2004-10-01  Simon Josefsson  <jas@extundo.com>
55204             Bruno Haible  <bruno@clisp.org>
55205
55206         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55207         (snprintf): Declare 'args'.
55208
55209 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55210
55211         * lib/snprintf.c: Remove comments as to why each header is needed.
55212
55213 2004-10-01  Bruno Haible  <bruno@clisp.org>
55214
55215         * MODULES.html.sh: Add strsep.
55216
55217 2004-09-30  Simon Josefsson  <jas@extundo.com>
55218
55219         * modules/snprintf: New file.
55220
55221 2004-09-30  Simon Josefsson  <jas@extundo.com>
55222
55223         * m4/snprintf.m4: New file.
55224
55225 2004-09-30  Simon Josefsson  <jas@extundo.com>
55226
55227         * lib/snprintf.h, lib/snprintf.c: New files.
55228
55229 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55230
55231         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55232         (hol_entry_help): Never translate an empty string.
55233         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55234         * lib/argp.h (OPTION_NO_TRANS): New option.
55235
55236 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55237
55238         * modules/argp (Maintainer): Replace Simon Josefsson
55239         by Sergey Poznyakoff.
55240
55241 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55242
55243         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55244         changes merged back into glibc.
55245
55246 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55247
55248         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55249
55250 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55251
55252         * lib/xvasprintf.c: Include xalloc.h.
55253         (xvasprintf): Use xalloc_die, not xmalloc_die.
55254
55255 2004-09-29  Bruno Haible  <bruno@clisp.org>
55256
55257         * modules/alloca-opt: New file, derived from modules/alloca.
55258         * modules/allocsa: Depend on alloca-opt instead of alloca.
55259         * modules/setenv: Likewise.
55260         * modules/vasnprintf: Likewise.
55261         * MODULES.html.sh: Add alloca-opt.
55262
55263 2004-09-28  Simon Josefsson  <jas@extundo.com>
55264
55265         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55266         LGPL, and to replace license template from GPL to LGPL.
55267
55268 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55269
55270         * modules/dummy: Change license to LGPL.
55271
55272 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55273
55274         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55275
55276 2004-09-24  Simon Josefsson  <jas@extundo.com>
55277
55278         * modules/minmax (License): Change from GPL to LGPL.
55279
55280 2004-09-23  Simon Josefsson  <jas@extundo.com>
55281
55282         * gnulib-tool (--import): Typo.
55283
55284 2004-09-23  Simon Josefsson  <jas@extundo.com>
55285
55286         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55287
55288 2004-09-22  Bruno Haible  <bruno@clisp.org>
55289
55290         * modules/*: Add 'License' field.
55291         * gnulib-tool: Accept --extract-license option.
55292         (func_get_license): New function.
55293
55294 2004-09-21  Bruno Haible  <bruno@clisp.org>
55295
55296         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55297         Reported by Simon Josefsson.
55298
55299 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55300
55301         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55302         gl_AC_TYPE_LONG_LONG.
55303
55304 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55305
55306         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55307
55308 2004-09-18  Simon Josefsson  <jas@extundo.com>
55309         and  Paul Eggert  <eggert@cs.ucla.edu>
55310
55311         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55312         calls with autoreconf.  Define GL_LIB.
55313
55314 2004-09-14  Karl Berry  <karl@gnu.org>
55315
55316         * config/srclist.txt: unsync setenv.c, sigh.
55317
55318 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55319
55320         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55321         Problem reported by Bruno Haible in:
55322         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55323
55324 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55325
55326         * config/srclist.txt: Comment out argp-pvh.c.
55327
55328 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55329
55330         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55331         in case some system header has #define'd it.  Problem reported by
55332         Soeren D. Schulze in
55333         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55334
55335 2004-09-09  Karl Berry  <karl@gnu.org>
55336
55337         * regex.[ch]: delete from the root.  These were supposed to be
55338                 synced with emacs cvs, but this has not happened for about
55339                 a year, and anyway nothing else uses emacs regex.[ch].
55340                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55341                 lib/regex[.ch] is untouched.
55342
55343 2004-09-09  Bruno Haible  <bruno@clisp.org>
55344
55345         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55346
55347 2004-09-09  Bruno Haible  <bruno@clisp.org>
55348
55349         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55350         modifications.
55351         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55352
55353 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55354
55355         * modules/xvasprintf: New file.
55356         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55357
55358 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55359
55360         * lib/xvasprintf.h: New file.
55361         * lib/xvasprintf.c: New file.
55362         * lib/xasprintf.c: New file.
55363
55364 2004-09-08  Bruno Haible  <bruno@clisp.org>
55365
55366         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55367
55368 2004-09-08  Bruno Haible  <bruno@clisp.org>
55369
55370         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55371         length is > INT_MAX.
55372         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55373         more.
55374
55375 2004-09-08  Bruno Haible  <bruno@clisp.org>
55376
55377         * lib/stdint_.h: New file, taken from GNU clisp.
55378
55379 2004-09-08  Bruno Haible  <bruno@clisp.org>
55380             Oskar Liljeblad  <oskar@osk.mine.nu>
55381
55382         * modules/stdint: New file.
55383         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55384
55385 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55386
55387         Import from coreutils.
55388         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55389         strings on unbounded length.  alloca's performance benefits aren't
55390         that important here.
55391         (V_STRDUP): Remove.
55392         (parse_with_separator): New function, with most of the internals
55393         of the old parse_user_spec.  Allow user to omit both user and group,
55394         for compatibility with FreeBSD.
55395         Clone only the user name, not the entire spec.
55396         Do not set *uid, *gid unless entirely successful.
55397         Avoid memory leak in some failing cases.
55398         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55399         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55400         (parse_user_spec): Rewrite to use parse_with_separator.
55401
55402 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * modules/userspec: Don't depend on alloca.
55405
55406 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55407
55408         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55409
55410 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55411
55412         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55413         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55414         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55415
55416 2004-08-16  Simon Josefsson  <jas@extundo.com>
55417
55418         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55419         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55420         Add --dry-run for --import.
55421         Let user provided command line parameters override configure.ac
55422         settings.
55423
55424 2004-08-12  Simon Josefsson  <jas@extundo.com>
55425
55426         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55427         as discussed with Paul Eggert in threads rooted at
55428         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55429         and
55430         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55431         Before, the test was empty, and relied on ELIDE_CODE in source
55432         code.)
55433         (gl_PREREQ_GETOPT): New macro.
55434         (gl_GETOPT): Use them.
55435
55436 2004-08-12  Simon Josefsson  <jas@extundo.com>
55437
55438         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55439         * lib/getopt_.h: Renamed from getopt.h.
55440
55441 2004-08-12  Simon Josefsson  <jas@extundo.com>
55442
55443         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55444         Change default library name from libfoo to libgnu.
55445         Now, if you have a configure.ac that says:
55446                 gl_SOURCE_BASE(gl)
55447                 gl_M4_BASE(gl/m4)
55448                 gl_MODULES(error getopt etcetera)
55449                 gl_INIT
55450         you can import all you need by running:
55451                 ../gnulib/gnulib-tool --import
55452
55453         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55454         (Makefile.am): Rewrite, use logic from argz.
55455         (Include): Use <getopt.h> instead of "getopt.h".
55456
55457 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55458
55459         * modules/argp (Files): Add m4/unlocked-io.m4.
55460         (Depends-on): Add extensions.
55461
55462 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55463
55464         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55465         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55466         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55467         Check for program_invocation_name, program_invocation_short_name,
55468         flockfile, funlockfile, features.h, _getopt_long_only_r.
55469
55470 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55471
55472         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55473         its complicated substitute.
55474         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55475         and program_invocation_name.
55476         (__argp_basename) [!_LIBC]: Remove; the only use was
55477         replaced by its body.
55478         (__argp_short_program_name): Change condition from
55479         !defined __argp_short_program_name to
55480         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55481         to match argp-namefrob.h.
55482         (__argp_failure): Don't assume strerror_r returns char *.
55483         * lib/argp-parse.c (N_): Define unconditionally.
55484         (argp_default_options): Fill out initializers with 0 to avoid
55485         gcc warnings.
55486
55487 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55488
55489         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55490         getopt1.c.
55491
55492 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55493
55494         Merge from coreutils.
55495
55496         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55497
55498         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55499         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55500
55501 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55502
55503         Merge from coreutils.
55504
55505         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55506         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55507         for Reliant Unix 5.43.
55508
55509         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55510         (union fooround): Use uintmax_t, not long int.
55511         The rest is a merge from libc:
55512         [defined _LIBC]: Include <shlib-compat.h>.
55513         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55514
55515         * lib/settime.c (settime): Recode to avoid warning with
55516         Sun Forte C 6U2.
55517
55518         * lib/strverscmp.c: Convert to UTF-8.
55519
55520 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55521
55522         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55523         m4/uintmax_t.m4.
55524
55525 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55526
55527         * modules/xalloc-die: New file.
55528         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55529
55530         * modules/md5 (Files): Add m4/uint32_t.m4.
55531         * modules/sha1: Renamed from modules/sha.
55532         (Files):
55533         Rename lib/sha.h to lib/sha1.h.
55534         Rename lib/sha.c to lib/sha1.c.
55535         Rename m4/sha.m4 to m4/sha1.m4.
55536         (lib_SOURCES): Likewise.
55537         (configure.ac): Rename gl_SHA to gl_SHA1.
55538         (Include): sha.h -> sha1.h.
55539
55540 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55541
55542         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55543         * m4/sha1.m4: Renamed from sha.m4.
55544         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55545
55546 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55547
55548         * lib/obstack.h (obstack_empty_p):
55549         Don't assume that chunk->contents is suitably aligned.
55550         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55551         Likewise. Problem reported by Benno in
55552         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55553
55554         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55555         readable.  This could be improved further but it'd take some work.
55556
55557 2004-08-08  Simon Josefsson  <jas@extundo.com>
55558
55559         * modules/xgethostname (Depends-on): Remove exit and error (not
55560         used).
55561
55562         * modules/getpass-gnu: Add getpass.h.
55563         (Depends-on): Add stdbool.
55564         * modules/getpass: Add getpass.h.
55565
55566 2004-08-08  Simon Josefsson  <jas@extundo.com>
55567
55568         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55569         Check getpass declaration.
55570
55571 2004-08-08  Simon Josefsson  <jas@extundo.com>
55572
55573         * lib/xgethostname.c: Don't include error.h (not used).
55574
55575         * lib/getpass.h: Add.
55576         * lib/getpass.c: Include getpass.h first.
55577
55578 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55579
55580         * lib/xalloc-die.c: New file.
55581         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55582         All uses removed.
55583         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55584         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55585         xalloc-die.c.
55586         (_, N_, xalloc_die): Move to xalloc-die.c.
55587         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55588         so that we needn't mess with xalloc_msg_memory_exhausted.
55589
55590         * lib/sha1.h: Renamed from sha.h.
55591         (SHA1_H): Renamed from _SHA_H.
55592         (sha1_ctx): Renamed from sha_ctx.
55593         (sha1_init_ctx): Renamed from sha_init_ctx.
55594         (sha1_process_block): Renamed from sha_process_block.
55595         (sha1_process_bytes): Renamed from sha_process_bytes.
55596         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55597         (sha1_read_ctx): Renamed from sha_read_ctx.
55598         (sha1_stream): Renamed from sha_stream.
55599         (sha1_buffer): Renamed from sha_buffer.
55600         * lib/sha1.c: Likewise; renamed from sha.c.
55601         Do not include <sys/types.h>.
55602         Include <stddef.h> rather than <stdlib.h>.
55603
55604 2004-08-08  Bruno Haible  <bruno@clisp.org>
55605
55606         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55607         FILESYSTEM_PREFIX_LEN.
55608         * lib/progreloc.c: Likewise.
55609         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55610
55611 2004-08-06  Simon Josefsson  <jas@extundo.com>
55612
55613         * modules/progname (Depends-on): Don't depend on stdbool.
55614
55615 2004-08-06  Simon Josefsson  <jas@extundo.com>
55616
55617         * modules/getsubopt: New file.
55618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55619         getsubopt.
55620
55621 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55622
55623         More merge from coreutils.
55624
55625         * m4/utimens.m4, m4/utimecmp.m4: New files.
55626         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55627         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55628         prereq.m4, sha.m4: Import changes from coreutils.
55629
55630 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55631
55632         More merge from coreutils.
55633         * modules/raise, modules/readtokens0, modules/utimens:
55634         * modules/utimecmp, module/xnanosleep: New files.
55635         * modules/strftime: Add lib/strftime.h.
55636         Change include from <time.h> to "strftime.h".
55637         * modules/yesno: Add lib/yesno.h.
55638         * modules/backupfile: Remove lib/addext.c.
55639         * modules/euidaccess: Add stat-macros.h.
55640         * modules/canonicalize, modules/euidaccess,
55641         modules/filemode, modules/lchown, modules/makepath,
55642         modules/rmdir, modules/stat: Likewise.
55643
55644 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55645
55646         Merge from tar.
55647         * lib/argp-help.c (make_hol, hol_append): Don't assume that
55648         SIZE_MAX is a valid preprocessor constant.
55649         (__argp_basename): Change from "#ifndef _LIBC"
55650         to "#ifndef __argp_short_program_name", so that
55651         we don't compile these functions for tar.
55652
55653         More merges from coreutils.
55654         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
55655         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
55656         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
55657         * lib/addext.c: Remove; no longer needed.
55658         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
55659         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
55660         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
55661         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
55662         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
55663         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
55664         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
55665         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
55666         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
55667         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55668         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
55669         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
55670         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
55671         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
55672         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
55673         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
55674         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
55675         Import changes from coreutils.
55676
55677 2004-08-05  Simon Josefsson  <jas@extundo.com>
55678
55679         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
55680
55681 2004-08-05  Simon Josefsson  <jas@extundo.com>
55682
55683         * m4/getsubopt.m4: New file.
55684
55685 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55686
55687         Merge from coreutils.
55688
55689         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
55690         * m4/getcwd-path-max.m4: New files.
55691
55692         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
55693         FILESYSTEM_PREFIX_LEN ->
55694         FILE_SYSTEM_PREFIX_LEN.
55695         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
55696         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
55697         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
55698         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
55699
55700         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
55701         prerequisite modules now handle the DOS stuff.
55702         Don't check for unistd.h.
55703
55704 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55705
55706         Merge from coreutils.
55707
55708         * lib/.gdb-history: Remove; this doesn't belong here.
55709
55710         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
55711         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
55712         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
55713         * lib/getcwd.c: New files.
55714
55715         * lib/dirname.h: Include <stdbool.h>.
55716         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
55717         for consistency with POSIX terminology.  All uses changed.
55718         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
55719         (strip_trailing_slashes): Use bool for booleans.
55720         * lib/stripslash.c (strip_trailing_slashes): Likewise.
55721
55722         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
55723         sometimes returns a positive errno value even when it succeeds.
55724         (print_errno_message) [!LIBC]: Fall back on strerror if
55725         __strerror_r fails.
55726
55727         * lib/path-concat.c (mempcpy): Don't define if a system header defines
55728         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
55729         (longest_relative_suffix): New function.
55730         (path_concat): Use it.  Assume first argument is not NULL.
55731         Port to DOS.  Omit redundant separators.
55732         Report an error instead of returning NULL.
55733         Use mempcpy instead of memcpy.
55734         (xpath_concat): Remove: not declared or used.
55735
55736         * lib/same.h: Include <stdbool.h>
55737         (same_name): Return bool, not int.
55738         * lib/same.c (same_name): Likewise.
55739         (errno): Don't declare; we assume C89 or better now.
55740
55741         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
55742         if not already defined.
55743
55744         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
55745         * lib/dup-safer.c (errno): Likewise.
55746
55747 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55748
55749         Merge from coreutils.
55750         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
55751         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
55752         * modules/path-concat: Don't depend on strdup.
55753
55754 2004-08-03  Simon Josefsson  <jas@extundo.com>
55755
55756         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
55757         * lib/progname.h: Don't include stdbool.h.
55758
55759 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55760
55761         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
55762         * MODULES.html.sh (func_all_modules): Remove fatal.
55763
55764 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55765
55766         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
55767
55768 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55769
55770         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
55771         working.
55772
55773 2004-08-02  Simon Josefsson  <jas@extundo.com>
55774
55775         * lib/getsubopt.h: New file, with comments from Bruno Haible.
55776         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
55777         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
55778
55779 2004-08-01  Simon Josefsson  <jas@extundo.com>
55780
55781         * lib/xgetdomainname.c: Include stdlib.h, for free().
55782
55783 2004-07-19  Bruno Haible  <bruno@clisp.org>
55784
55785         * MODULES.html.sh (func_all_modules): Add dummy.
55786
55787 2004-07-16  Simon Josefsson  <jas@extundo.com>
55788
55789         * modules/dummy: New file.
55790
55791 2004-07-16  Simon Josefsson  <jas@extundo.com>
55792
55793         * lib/dummy.c: New file.
55794
55795 2004-07-16  Bruno Haible  <bruno@clisp.org>
55796
55797         * lib/backupfile.h: Add extern "C" for C++.
55798         * lib/closeout.h: Likewise.
55799         * lib/copy-file.h: Likewise.
55800         * lib/findprog.h: Likewise.
55801         * lib/full-write.h: Likewise.
55802         * lib/pathname.h: Likewise.
55803         * lib/progname.h: Likewise.
55804         * lib/stpcpy.h: Likewise.
55805         * lib/stpncpy.h: Likewise.
55806         * lib/strcase.h: Likewise.
55807         * lib/strstr.h: Likewise.
55808         * lib/xalloc.h: Likewise.
55809
55810         * lib/mbswidth.h: Add extern "C" for C++.
55811         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
55812
55813 2004-07-13  Robert Millan  <robertmh@gnu.org>
55814
55815         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
55816
55817 2004-07-09  Simon Josefsson  <jas@extundo.com>
55818
55819         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
55820         failed without this.)
55821
55822 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55823
55824         * modules/chown (Files): Add lib/fchown-stub.c, since
55825         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
55826
55827 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         * lib/fchown-stub.c: New file.
55830
55831 2004-06-24  Jim Meyering  <jim@meyering.net>
55832
55833         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
55834
55835 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55836
55837         * modules/argz: Omit "#include".
55838
55839         * MODULES.html.sh (func_all_modules): Add calloc, to match
55840         2004-06-01 addition of calloc module.
55841
55842 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55843
55844         * m4/argz.m4: New file, which is autoupdated from libtool.
55845
55846 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55847
55848         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
55849         libtool.
55850
55851 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55852
55853         * config/srclist-update: Don't insist on "USA." before the
55854         close-comment, as libtool omits the period and puts the */ on a
55855         separate line.
55856         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
55857         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
55858
55859 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
55860
55861         * modules/argz: New file.
55862         * MODULES.html.sh (func_all_modules): Add argz.
55863
55864 2004-06-12  Jim Meyering  <jim@meyering.net>
55865         and  Paul Eggert  <eggert@cs.ucla.edu>
55866
55867         * modules/hash (Files): Add lib/xalloc.h.
55868         * modules/pipe (Depends-on): Add wait-process.
55869         * modules/stat (Depends-on): Add xalloc.
55870         * modules/userspec (Files): Add lib/userspec.h.
55871         * modules/xstrto
55872
55873         Upgrade from gettext-0.13.
55874         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
55875         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
55876         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
55877
55878 2004-06-10  Jim Meyering  <jim@meyering.net>
55879
55880         * lib/calloc.c: New file.
55881
55882 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
55883
55884         * lib/getdate.y (yylex): Allow space between sign and number.
55885         Problem reported by Dan Jacobson.
55886
55887 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55888
55889         Merge from coreutils CVS.
55890
55891         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
55892         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
55893         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
55894         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
55895         xstrtol.m4: Fix copyright date and/or serial number.
55896
55897         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
55898         See if we need an fchown replacement.
55899         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
55900         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
55901         and use the replacement function if we detect either defect.
55902
55903         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
55904         gl_UTIMECMP.
55905
55906 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55907         and  Jim Meyering  <jim@meyering.net>
55908
55909         Merge from coreutils CVS.
55910
55911         * lib/stat-macros.h: New file, with contents from file-type.h
55912         and coreutils' system.h.
55913         * lib/file-type.c: Include "stat-macros.h".
55914         * lib/file-type.h (file_type): Move all macro definitions to new file,
55915         stat-macros.h.
55916
55917         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
55918         Wrap old code with this conditional.
55919         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
55920         function that does not dereference symlinks.
55921         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
55922
55923         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
55924         dependency problems.
55925         (xreadlink): Accept new arg SIZE, for efficiency.
55926         All decls and uses changed.
55927         * lib/xreadlink.h: Include <stddef.h>, for size_t.
55928
55929         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
55930         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
55931
55932         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
55933         sysexits.h.
55934
55935 2004-06-01  Jim Meyering  <jim@meyering.net>
55936
55937         * m4/calloc.m4: New file.
55938
55939 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
55940
55941         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
55942         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
55943         Also, fix a typo in a diagnostic.
55944
55945 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
55946
55947         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
55948         or AC_FUNC_REALLOC.
55949
55950 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
55951
55952         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
55953         macros to be defined.
55954         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
55955         the allocator returns NULL because the requested size is zero.
55956
55957 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55958
55959         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
55960         var.  Add comment explaining why libc still defines it.  This
55961         merges the following patch from glibc:
55962         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
55963
55964 2004-05-20  Andreas Schwab  <schwab@suse.de>
55965
55966         * m4/free.m4: Replace free if it not known to work, not the other
55967         way round.
55968
55969 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55970
55971         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
55972         present in glibc since revision 1.1 of this file.
55973         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
55974         obstack_alignment_mask, obstack_alloc, obstack_base,
55975         obstack_blank, obstack_blank_fast, obstack_chunk_size,
55976         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
55977         obstack_grow0, obstack_init, obstack_int_grow,
55978         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
55979         obstack_next_free, obstack_object_size, obstack_ptr_grow,
55980         obstack_ptr_grow_fast, obstack_room): Remove declarations of
55981         nonexistent functions.
55982
55983 2004-05-18  Karl Berry  <karl@gnu.org>
55984
55985         * config/srclist.txt: break link for vasnprintf.c.
55986
55987 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55988
55989         Port obstack to the AS/400, where pointers are 16 bytes wide and
55990         you cannot cast an integer to a valid pointer.  This patch is
55991         currently waiting to be integrated into glibc; see
55992         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
55993
55994         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
55995         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
55996         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
55997         (struct obstack): temp member is now a union of a pointer and
55998         an integer, instead of an integer.  All integer uses changed.
55999         This does not affect the physical layout of struct obstack,
56000         except on hosts (like the AS/400) where the size or alignment of
56001         void * is greater than that of ptrdiff_t.
56002         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56003         __STDC__)]: Store temporary in pointer member of union, not
56004         integer member.
56005         * lib/obstack.c: Include <stddef.h>, for offsetof.
56006         (struct fooalign): Remove; it doesn't need a name.
56007         (union fooround): Change double to long double, and add void *.
56008         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56009         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56010         not a macro.  Hence the values are always int; so remove all
56011         casts-to-int in uses.
56012
56013 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56014
56015         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56016         we can get this patch merged into glibc.
56017
56018 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56019             Paul Eggert  <eggert@cs.ucla.edu>
56020
56021         * m4/argp: Depend on alloca.
56022
56023 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56024             Paul Eggert  <eggert@cs.ucla.edu>
56025
56026         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56027         freecoding.
56028
56029 2004-05-17  Bruno Haible  <bruno@clisp.org>
56030
56031         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56032         precision that consists of a '.' followed by an empty digit string.
56033         Patch by Tor Lillqvist <tml@iki.fi>.
56034
56035 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56036
56037         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56038         for backward compatibility with older code.  We need our own
56039         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56040         it under some other name, and our alloca.h will define it.
56041
56042 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56043             Derek Price  <derek@ximbiot.com>
56044
56045         * lib/alloca.c: Include <alloca.h>, to get our interface.
56046         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56047         include <alloca.h> first.  Use C89 prototype for alloca; this
56048         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56049         Use #elif for simplicity, since we can assume C89 now.
56050         Don't try to source the system alloca.h since it will not be found
56051         and to prevent recursively including its replacement.
56052         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56053         * lib/regex.c: Likewise.
56054
56055 2004-05-16  Derek Price  <derek@ximbiot.com>
56056             Paul Eggert  <eggert@cs.ucla.edu>
56057
56058         getline cleanup.  This changes the getndelim2 API: both order of
56059         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56060         no delimiter).
56061
56062         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56063         interface does that.
56064         (getline): Always use getdelim, so that we don't have two
56065         copies of this code.
56066         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56067         if available.
56068         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56069         (GETNDELIM2_MAXIMUM): New macro.
56070         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56071         instead of the old practice of delim2==0.  All callers changed.
56072         Return -1 on overflow, instead of returning junk.
56073         Do not set *linesize unless allocation succeeds.
56074         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56075         that we include sys/types.h.
56076         * lib/getnline.h: Likewise.
56077         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56078         (getndelim2): Reorder arguments.
56079         * lib/getnline.c (getnline, getndelim):
56080         Don't discard the NMAX argument.
56081         (getnline): Invoke getndelim, to avoid code duplication.
56082         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56083         of (size_t) -1 by callers of the getnline family.
56084
56085 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56086
56087         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56088         Check for gettimeofday.
56089         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56090         Check for settimeofday, stime.
56091
56092 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56093
56094         * lib/nanosleep.c (suspended): Change its type from int to
56095         sig_atomic_t volatile.
56096         (first_call): Make it private to rpl_nanosleep, and have it
56097         be zero initially as that's a bit faster.
56098         (my_usleep): Round up fractional times instead of truncating them,
56099         as this is the usual meaning for 'sleep'.
56100
56101         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56102         doesn't work.
56103         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56104         (ENOSYS): Define if not defined.
56105         (settime): Fall back on stime if it exists and settimeofday fails.
56106         But don't bother with fallbacks if a method fails with errno == EPERM.
56107
56108 2004-05-11  Jim Meyering  <jim@meyering.net>
56109
56110         Prior to this change, the save_cwd caller required read access to the
56111         current directory on most systems (ones with the fchdir function).
56112
56113         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56114         fails, try write-only, and finally, resort to using xgetcwd.
56115
56116 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56117
56118         * lib/obstack.c, obstack.h: Import changes from libc.
56119
56120 2004-04-28  Bruno Haible  <bruno@clisp.org>
56121
56122         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56123         also implicitly appends .exe to executables.
56124         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56125         accepts Windows pathnames.
56126         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56127         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56128         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56129         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56130         Reported by Derek Robert Price <derek@ximbiot.com>.
56131
56132 2004-04-21  Karl Berry  <karl@gnu.org>
56133
56134         * config/srclist.txt (localcharset.c): break sync.
56135
56136 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56137
56138         * m4/host-os.m4: Add a copyright notice.
56139
56140 2004-04-20  Jim Meyering  <jim@meyering.net>
56141
56142         Change UTILS_ to gl_ in AC_DEFINE'd names.
56143         Change utils_- and jm_-prefixed variables, too.
56144         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56145         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56146         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56147
56148         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56149         Don't emit trailing blanks.
56150         Also rename jm_-prefixed variables to have gl_ prefix.
56151
56152         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56153         Also rename jm_-prefixed variables to have gl_ prefix.
56154
56155         * m4/jm-macros.m4: Reflect the renamings.
56156         * m4/prereq.m4: Likewise.
56157
56158 2004-04-20  Jim Meyering  <jim@meyering.net>
56159
56160         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
56161         memory.
56162
56163 2004-04-20  Jim Meyering  <jim@meyering.net>
56164             Bruno Haible  <bruno@clisp.org>
56165
56166         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
56167         memory when realloc fails.
56168
56169 2004-04-19  Jim Meyering  <jim@meyering.net>
56170
56171         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
56172         now that readutmp.c may call `free (0)'.
56173
56174 2004-04-19  Bruno Haible  <bruno@clisp.org>
56175
56176         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
56177         * m4/inttypes_h.m4: Likewise.
56178         * m4/stdint_h.m4: Likewise.
56179         * m4/intmax_t.m4: Likewise.
56180         * m4/uintmax_t.m4: Likewise.
56181
56182 2004-04-18  Jim Meyering  <jim@meyering.net>
56183
56184         * m4/prereq.m4: Don't forbid jm_ prefix.
56185
56186         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56187         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56188         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56189         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56190         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56191         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56192         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56193         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56194         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56195         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56196         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56197         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56198         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56199         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56200         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56201         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56202         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56203         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56204         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56205
56206 2004-04-18  Jim Meyering  <jim@meyering.net>
56207
56208         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56209         failure, don't leak memory and do call END_UTMP_ENT.
56210
56211 2004-04-16  Jim Meyering  <jim@meyering.net>
56212
56213         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56214         coreutils' stat program.
56215         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56216
56217 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56218
56219         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56220         C89.
56221         (CHAR_BIT): Remove, since we assume C89.
56222         Include <stdint.h> if available, as per current Autoconf CVS advice.
56223
56224 2004-03-31  Jim Meyering  <jim@meyering.net>
56225
56226         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56227         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56228         * m4/xalloc.m4: Likewise.
56229
56230 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56231
56232         Merge from coreutils.
56233
56234         * m4/inttostr.m4: New file.
56235         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56236         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56237         Require gl_CLOCK_TIME.
56238         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56239
56240 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56241
56242         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56243         not bool, to be more consistent with Unix conventions.
56244         Suggested by Bruno Haible.
56245
56246         Merge from coreutils.
56247
56248         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56249         * lib/umaxtostr.c: New files.
56250
56251         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56252         the usual <time.h> dance.
56253         (get_date): Change signature to support fractional time stamps.
56254         All callers changed.
56255         * lib/getdate.y: Include "getdate.h" first, as we can now
56256         assume C89 and don't need to worry about 'const'.
56257         Similarly, include "unlocked-io.h" near start, not in middle.
56258         Include <limits.h>.
56259         (textint.value): Use long int rather than int.
56260         (textint.digits): Use size_t rather than int.
56261         (BILLION, LOG10_BILLION): New constants.
56262         (parser_control): New member rel_ns.  Members day_ordinal,
56263         time_zone, month, day, hour, minutes, rel_year, rel_month,
56264         rel_day, rel_hour, rel_minutes, rel_seconds
56265         are now long int, not int.  Member seconds is now struct timespec,
56266         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56267         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56268         not int.
56269         (%union.intval): Now long int, not int.
56270         New member timespec.
56271         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56272         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56273         (spec): Now is a timespec or an item list.
56274         (timespec, items): New nonterminals.
56275         (time, rel, relunit, number, get_date):
56276         Add support for fractional seconds.
56277         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56278         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56279         (to_hour): First arg is now long int, not int.
56280         (to_year): Returns long int, not int.
56281         Don't treat year -70 like 70.
56282         (tm_diff): Returns long int, not int.
56283         (lookup_word): Use bool instead of int when appropriate.
56284         (yylex): Use size_t for count, not int.
56285         Detect overflow when parsing large integer constants.
56286         Add support for fractions.
56287         (get_date): Make pointers 'const' if possible.
56288         Use more-portable code to detect integer overflow.
56289         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56290         Don't use ctime; it's not reliable if the year has >4 digits.
56291
56292         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56293         This is for compatibility with BSD.
56294
56295         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56296         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56297         From coreutils' system.h.
56298
56299         * lib/userspec.c: Don't include "posixver.h".
56300         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56301         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56302         compatible extension.  Simplify code by removing a boolean int
56303         that was always nonzero if a string was nonnull.
56304
56305 2004-03-30  Jim Meyering  <jim@meyering.net>
56306
56307         Merge from coreutils.
56308
56309         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56310         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56311         on some systems one must include <grp.h> before it.
56312         Reported by Christian Krackowizer.
56313
56314 2004-03-30  Jim Meyering  <jim@meyering.net>
56315
56316         Merge from coreutils.
56317
56318         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56319
56320         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56321         an empty input stream.
56322
56323         * lib/readtokens.c: Include <stdbool.h>.
56324         (readtoken): Use `size_t' rather than int/long.
56325         All callers adjusted.
56326         Use `bool' rather than `int' where appropriate.
56327         Use memset rather than an explicit loop.
56328         Use x2nrealloc rather than xrealloc.
56329         Allow the use of `\0' as a delimiter.
56330         (readtokens): Likewise.
56331         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56332
56333 2004-03-30  Jim Meyering  <jim@meyering.net>
56334
56335         * m4/realloc.m4: Remove file, since now it does no more than
56336         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56337         the `configure.ac' section of module/realloc.
56338         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56339
56340 2004-03-30  Bruno Haible  <bruno@clisp.org>
56341
56342         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56343         nonnull.
56344
56345 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56346
56347         Merge changes to getloadavg.c from coreutils and Emacs.
56348
56349         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56350         Define to an expression, not to the empty string.
56351         Include cloexec.h and xalloc.h.
56352         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56353         Use set_cloexec_flag rather than rolling our own.
56354         * lib/cloexec.c, lib/cloexec.h: New files.
56355
56356 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56357
56358         * m4/cloexec.m4: New file.
56359
56360 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56361
56362         * lib/getopt.h: Sync with libc CVS.
56363
56364 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56365             Bruno Haible  <bruno@clisp.org>
56366
56367         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56368         mbswidth.
56369
56370 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56371             Bruno Haible  <bruno@clisp.org>
56372
56373         * lib/mbswidth.h: Include <wchar.h> only if
56374         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56375         <wchar.h>.
56376         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56377
56378 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56379
56380         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56381         Sync with libc CVS.
56382         * lib/getopt_int.h: New file, also synced from libc.
56383
56384 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56385
56386         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56387         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56388         Bring back getopt.c, getopt.h, getopt1.c.
56389
56390 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56391
56392         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56393         All uses changed.  Check for sa_sigaction member; this fixes
56394         a bug first reported by Jason Andrade in
56395         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56396
56397 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56398
56399         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56400         '#if' expressions.  Unlike the code it replaces, it does not
56401         depend on (defined _SC_PAGESIZE).  However, it does depend on
56402         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56403         first reported by Jason Andrade in
56404         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56405
56406 2004-02-25  Simon Josefsson  <jas@extundo.com>
56407
56408         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56409
56410 2004-02-25  Simon Josefsson  <jas@extundo.com>
56411
56412         * lib/strdup.h: New file.
56413         * lib/strdup.c: Include it.
56414         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56415         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56416
56417 2004-02-23  Karl Berry  <karl@gnu.org>
56418
56419         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56420         (from fencepost.gnu.org:/gd/gnuorg).
56421
56422 2004-02-23  Karl Berry  <karl@gnu.org>
56423
56424         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56425         * config/srclist.txt: add maintain/standards documents.
56426
56427 2004-02-18  Bruno Haible  <bruno@clisp.org>
56428
56429         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56430         Reported by Derek Robert Price <derek@ximbiot.com>.
56431
56432 2004-02-16  Karl Berry  <karl@gnu.org>
56433
56434         * config/mkinstalldirs, install-sh: update from automake.
56435
56436 2004-02-06  Karl Berry  <karl@gnu.org>
56437
56438         * m4/po.m4: update from gettext 0.14.1.
56439
56440 2004-02-06  Karl Berry  <karl@gnu.org>
56441
56442         * lib/config.charset: update from gettext 0.14.1.
56443
56444 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56445
56446         Add comments and code, prompted by suggestions from Bruno Haible
56447         for sh-quote.
56448         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56449         describing the enum quoting_style values.
56450         * lib/quotearg.c (quotearg_alloc): New function.
56451         (quotearg_buffer_restyled): Treat lone { and } as special.
56452         Treat = as special.  Work around bug with older shells
56453         that "see" a '\' that is really the 2nd byte of a multibyte char.
56454         Quote empty string with shell_quoting_style.
56455
56456 2004-02-03  Bruno Haible  <bruno@clisp.org>
56457
56458         * m4/pipe.m4: New file, from GNU gettext.
56459
56460 2004-02-03  Bruno Haible  <bruno@clisp.org>
56461
56462         * lib/pipe.h: New file, from GNU gettext.
56463         * lib/pipe.c: New file, from GNU gettext.
56464
56465 2004-01-27  Bruno Haible  <bruno@clisp.org>
56466
56467         * m4/execute.m4: New file, from GNU gettext.
56468
56469 2004-01-27  Bruno Haible  <bruno@clisp.org>
56470
56471         * lib/execute.h: New file, from GNU gettext.
56472         * lib/execute.c: New file, from GNU gettext.
56473         * lib/w32spawn.h: New file, from GNU gettext.
56474
56475 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56476
56477         Merge from diffutils.
56478
56479         * lib/file-type.c (file_type): Add typed memory objects.
56480         * lib/file-type.h (S_TYPEISTMO): New macro.
56481
56482         * lib/c-stack.h (c_stack_action): Remove argv argument.
56483         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56484         (die): Don't calculate message unless segv_action returns.
56485         (get_stack_location, min_address_from_argv, max_address_from_argv,
56486         volatile stack_base, volatile_stack_size): Remove.
56487         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56488         that every segmentation violation is a stack overflow.  (Ouch!)
56489         See Debian bug 136249 (still outstanding) for more info about why
56490         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56491
56492 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56493
56494         Exit-status fix from coreutils.
56495
56496         Use exit_failure consistently in place of EXIT_FAILURE,
56497         so that program exit statuses are consistent on failure.
56498
56499         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56500         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56501         * lib/argmatch.h: Comment fix to match the above.
56502         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56503         Now a macro referring to exit_failure, instead of a separate
56504         variable.  Include "exitfail.h" to get it.
56505         * lib/xstrtol.h: Include "exitfail.h".
56506         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56507
56508         * lib/long-options.c (parse_long_options): Use prototype
56509         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56510         for clarity.
56511
56512 2004-01-21  Jim Meyering  <jim@meyering.net>
56513
56514         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56515         so as not to conflict with a different-sized __mktime_internal
56516         function in GNU libc.
56517         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56518         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56519
56520 2004-01-20  Karl Berry  <karl@gnu.org>
56521
56522         * config/config.guess: update from config.
56523
56524         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56525
56526 2004-01-20  Bruno Haible  <bruno@clisp.org>
56527
56528         Safer stack allocation.
56529         * lib/setenv.c: Include allocsa.h.
56530         (alloca): Remove fallback definition.
56531         (freea): Remove macro.
56532         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56533         instead of freea.
56534
56535 2004-01-20  Bruno Haible  <bruno@clisp.org>
56536
56537         * m4/eealloc.m4: New file, from GNU gettext.
56538
56539 2004-01-20  Bruno Haible  <bruno@clisp.org>
56540
56541         * m4/allocsa.m4: New file, from GNU gettext.
56542
56543 2004-01-20  Bruno Haible  <bruno@clisp.org>
56544
56545         * lib/xallocsa.h: New file, from GNU gettext.
56546         * lib/xallocsa.c: New file, from GNU gettext.
56547
56548 2004-01-20  Bruno Haible  <bruno@clisp.org>
56549
56550         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56551
56552 2004-01-20  Bruno Haible  <bruno@clisp.org>
56553
56554         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56555         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56556         specially.
56557
56558 2004-01-20  Bruno Haible  <bruno@clisp.org>
56559
56560         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56561         patch.
56562
56563 2004-01-20  Bruno Haible  <bruno@clisp.org>
56564
56565         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56566
56567 2004-01-20  Bruno Haible  <bruno@clisp.org>
56568
56569         * lib/eealloc.h: New file.
56570
56571 2004-01-20  Bruno Haible  <bruno@clisp.org>
56572
56573         * lib/binary-io.h: Avoid warnings on Cygwin.
56574
56575 2004-01-20  Bruno Haible  <bruno@clisp.org>
56576
56577         * lib/allocsa.h: New file, from GNU gettext.
56578         * lib/allocsa.c: New file, from GNU gettext.
56579
56580 2004-01-18  Karl Berry  <karl@gnu.org>
56581
56582         * doc/gpl.texi, doc/lgpl.texi: new files.
56583
56584 2004-01-18  Karl Berry  <karl@gnu.org>
56585
56586         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56587         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56588
56589 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56590
56591         Merge from coreutils.
56592
56593         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56594         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56595         (gl_DEFAULT_POSIX2_VERSION): Move
56596         the documentation from 'configure' into 'config.hin',
56597         so that 'configure --help' isn't burdened by it and
56598         we don't have to worry about its formatting there.
56599         Reword the documentation so that it's more succinct
56600         and can be run together into a single paragraph.
56601         * m4/same.m4 (gl_SAME): Check for pathconf.
56602
56603 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56604
56605         Merge from coreutils.
56606
56607         * lib/posixver.c: Include posixver.h.
56608
56609         * lib/same.c: Include <stdbool.h>, <limits.h>.
56610         (_POSIX_NAME_MAX): Define if not defined.
56611         (MIN): New macro.
56612         (same_name): If file names are silently truncated, report
56613         that the file names are the same if they are the same after
56614         the silent truncation.
56615
56616         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56617         conversion function.
56618         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56619         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56620         longer needed.
56621
56622 2004-01-15  Jim Meyering  <jim@meyering.net>
56623
56624         Merge from coreutils.
56625
56626         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56627         if no library is required.
56628         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56629         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56630         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56631         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56632         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56633         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56634         value, $ac_cv_search_crypt, if it's "none required".
56635         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56636         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56637         not gl_FUNC_GETLOADAVG.
56638         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
56639         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
56640
56641 2004-01-15  Jim Meyering  <jim@meyering.net>
56642
56643         Merge from coreutils.
56644
56645         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
56646         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
56647         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
56648
56649         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
56650         optional configure-time default.
56651
56652         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56653
56654         * lib/xreadlink.c (xreadlink): Correct outdated comment.
56655
56656 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
56657
56658         Merge from coreutils.
56659
56660         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
56661         value, $ac_cv_search_nanosleep, if it's "none required".
56662
56663 2004-01-14  Paul Eggert  <eggert@twinsun.com>
56664
56665         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
56666         with like-named macro in fnmatch.c.
56667         (EXT): Use an internal constant instead.
56668
56669         Merge fnmatch patches from glibc.
56670         * lib/fnmatch.c (mbsinit): Remove define.
56671         Add libc_hidden_ver (__fnmatch, fnmatch).
56672         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
56673         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
56674
56675 2004-01-14  Karl Berry  <karl@gnu.org>
56676
56677         * config/install-sh: update from automake.
56678
56679 2004-01-13  Karl Berry  <karl@gnu.org>
56680
56681         * config/install-sh: update from automake.
56682
56683 2004-01-09  Karl Berry  <karl@gnu.org>
56684
56685         * config/install-sh: update from automake.
56686
56687 2004-01-05  Karl Berry  <karl@gnu.org>
56688
56689         * config/config.{sub,guess}: update from config.
56690
56691 2003-12-31  Karl Berry  <karl@gnu.org>
56692
56693         * config/depcomp: update from automake.
56694
56695 2003-12-14  Karl Berry  <karl@gnu.org>
56696
56697         * lib/config.charset: update from gettext-runtime.
56698
56699 2003-12-03  Paul Eggert  <eggert@twinsun.com>
56700
56701         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
56702         Bug reported by Alfred M. Szmidt.
56703
56704 2003-12-03  Bruno Haible  <bruno@clisp.org>
56705
56706         * m4/gettext.m4: Upgrade from gettext-0.13.
56707         * m4/po.m4: Upgrade from gettext-0.13.
56708         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
56709         * m4/intmax.m4: New file, from gettext-0.13.
56710         * m4/printf-posix.m4: New file, from gettext-0.13.
56711
56712 2003-11-29  Karl Berry  <karl@gnu.org>
56713
56714         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
56715
56716 2003-11-25  Paul Eggert  <eggert@twinsun.com>
56717             Bruno Haible  <bruno@clisp.org>
56718
56719         * lib/printf-parse.h: Don't include sys/types.h.
56720         (ARG_NONE): New macro.
56721         (char_directive): Change type of *arg_index fields to size_t.
56722         * lib/printf-parse.c: Don't include sys/types.h.
56723         (SSIZE_MAX): Remove macro.
56724         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
56725         Remove unnecessary overflow check.
56726         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
56727         fields.
56728
56729 2003-11-25  Bruno Haible  <bruno@clisp.org>
56730
56731         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
56732
56733 2003-11-25  Bruno Haible  <bruno@clisp.org>
56734
56735         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
56736         gt_TYPE_SSIZE_T.
56737
56738 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56739
56740         * modules/alloca: Remove dependency on xalloc.
56741
56742 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56743
56744         * lib/alloca.c: Remove dependency on xalloc module.
56745         (xalloc_die): Remove.
56746         (memory_full) [!defined emacs]: New macro.
56747         [!defined emacs]: Don't include xalloc.h.
56748         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
56749         address arithmetic overflows.  Change datatypes a bit to avoid
56750         unnecessary casts.
56751
56752 2003-11-22  Jim Meyering  <jim@meyering.net>
56753
56754         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
56755         s/size/size_t/.
56756
56757 2003-11-21  Karl Berry  <karl@gnu.org>
56758
56759         * config/config.{sub,guess}: update from config.
56760
56761 2003-11-18  Karl Berry  <karl@gnu.org>
56762
56763         * config/config.{sub,guess}: update from config.
56764
56765         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
56766
56767 2003-11-17  Paul Eggert  <eggert@twinsun.com>
56768
56769         * README: Mention that S+T cannot overflow if S is the size of
56770         an existing object and T is sufficiently small.
56771
56772 2003-11-17  Jim Meyering  <jim@meyering.net>
56773
56774         On systems without utime and without a utimes function capable of
56775         dealing with a NULL struct utimbuf* argument, this utime replacement
56776         could -- in unusual circumstances -- leak a file descriptor.
56777         * lib/utime.c: Include <unistd.h> and <errno.h>.
56778         (utime_null): Be sure to close `fd' and to preserve errno.
56779         Reported by Geoff Collyer via Arnold Robbins.
56780
56781 2003-11-17  Bruno Haible  <bruno@clisp.org>
56782
56783         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
56784         (Depends-on): Add xsize.
56785
56786 2003-11-17  Bruno Haible  <bruno@clisp.org>
56787
56788         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
56789
56790 2003-11-17  Bruno Haible  <bruno@clisp.org>
56791
56792         * lib/vasnprintf.c (alloca): Remove fallback definition.
56793         (freea): Remove definition.
56794         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
56795         Reported by Paul Eggert.
56796
56797 2003-11-16  Paul Eggert  <eggert@twinsun.com>
56798             Bruno Haible  <bruno@clisp.org>
56799
56800         Protect against address arithmetic overflow.
56801         * lib/printf-args.h: Include stddef.h.
56802         (arguments): Change type of field 'count' to size_t.
56803         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
56804         'unsigned int' where appropriate.
56805         * lib/printf-parse.h: Include sys/types.h.
56806         (char_directive): Change type of *arg_index fields to ssize_t.
56807         (char_directives): Change type of fields 'count', max_*_length to
56808         size_t.
56809         * lib/printf-parse.c: Include sys/types.h and xsize.h.
56810         (SSIZE_MAX): Define fallback value.
56811         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
56812         instead of 'int' where appropriate. Check a_allocated, d_allocated
56813         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
56814         * lib/vasnprintf.c: Include xsize.h.
56815         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
56816         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
56817         overflow. Avoid wraparound when converting a width or precision from
56818         decimal to binary.
56819
56820 2003-11-16  Bruno Haible  <bruno@clisp.org>
56821
56822         Update from GNU gettext.
56823         * lib/printf-parse.c: Generalize to it can be compiled for wide
56824         strings.
56825         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
56826         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
56827         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
56828         SNPRINTF): New macros.
56829         Don't include <alloca.h> if the file is used inside libintl.
56830         (local_wcslen): New function, for Solaris 2.5.1.
56831         (VASNPRINTF): Use it instead of wcslen.
56832
56833 2003-11-16  Bruno Haible  <bruno@clisp.org>
56834
56835         * lib/xsize.h (xmax): New function.
56836         (xsum, xsum3, xsum4): Declare as "pure" functions.
56837
56838 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56839
56840         * modules/xalloc (Files): Undo latest change, since xalloc.h
56841         no longer needs SIZE_MAX or PTRDIFF_MAX.
56842
56843 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56844
56845         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
56846         gl_PTRDIFF_MAX.
56847
56848 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56849
56850         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
56851         "return", to pacify some unknown compiler.  Problem reported
56852         by Joerg Schilling.
56853
56854 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56855
56856         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
56857         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
56858         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
56859         heuristic is just as accurate as far as we know, and it removes a
56860         dependency on size_max.m4 and ptrdiff_max.m4.
56861
56862 2003-11-11  Bruno Haible  <bruno@clisp.org>
56863
56864         * modules/xsize (Files): Add m4/size_max.m4.
56865         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
56866
56867 2003-11-11  Bruno Haible  <bruno@clisp.org>
56868
56869         * m4/size_max.m4: New file.
56870         * m4/ptrdiff_max.m4: New file.
56871         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
56872         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
56873         (gl_XALLOC): Invoke it.
56874
56875 2003-11-11  Bruno Haible  <bruno@clisp.org>
56876
56877         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
56878         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
56879         defined.
56880
56881 2003-11-10  Paul Eggert  <eggert@twinsun.com>
56882
56883         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
56884         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
56885         rejected some allocations of exactly SIZE_MAX - 2 bytes.
56886         From Bruno Haible.
56887         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
56888         not (size_t) -1, since it's defined here.
56889
56890 2003-11-09  Karl Berry  <karl@gnu.org>
56891
56892         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
56893
56894 2003-11-06  Paul Eggert  <eggert@twinsun.com>
56895
56896         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
56897         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
56898         Reject sizes of exactly SIZE_MAX bytes.
56899         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
56900         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
56901
56902 2003-11-05  Bruno Haible  <bruno@clisp.org>
56903
56904         * lib/xsize.h: Include limits.h, to avoid a possible collision with
56905         SIZE_MAX defined in <limits.h> on Solaris.
56906
56907 2003-11-04  Jim Meyering  <jim@meyering.net>
56908
56909         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
56910         variable names, rather than @VAR@.
56911         * modules/poll: Likewise.
56912
56913 2003-11-04  Bruno Haible  <bruno@clisp.org>
56914
56915         * modules/xsize: New file.
56916         * modules/linebreak: Depend on xsize.
56917         * MODULES.html.sh (func_all_modules): Add xsize.
56918
56919 2003-11-04  Bruno Haible  <bruno@clisp.org>
56920
56921         * m4/xsize.m4: New file.
56922
56923 2003-11-04  Bruno Haible  <bruno@clisp.org>
56924
56925         * lib/xsize.h: New file.
56926         * lib/linebreak.c: Include xsize.h.
56927         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
56928         argument for overflow.
56929         Suggested by Paul Eggert.
56930
56931 2003-11-03  Karl Berry  <karl@gnu.org>
56932
56933         * config/config.{guess,sub}: update from config.
56934
56935 2003-11-03  Jim Meyering  <jim@meyering.net>
56936
56937         * modules/userspec (lib_SOURCES): Add userspec.h.
56938         (Include): Add "userspec.h".
56939         Improve description.
56940
56941 2003-11-03  Jim Meyering  <jim@meyering.net>
56942
56943         * lib/userspec.c: Include "userspec.h".
56944         * lib/userspec.h: New file.
56945
56946 2003-11-03  Bruno Haible  <bruno@clisp.org>
56947
56948         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
56949
56950 2003-11-03  Bruno Haible  <bruno@clisp.org>
56951
56952         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
56953         available, to avoid (extremely rare) race condition.
56954         Suggested by Paul Eggert.
56955
56956 2003-11-02  Karl Berry  <karl@gnu.org>
56957
56958         * config/srclist.txt (vasprintf.c): sync broken, sigh.
56959
56960 2003-10-31  Paul Eggert  <eggert@twinsun.com>
56961
56962         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
56963         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
56964         (read_filesystem_list): Set and use me_type_malloced.
56965         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
56966         whatever the type happens to be), for brevity and consistency.
56967         Check for size calculation overflow on Alphas running OSF/1.
56968
56969 2003-10-31  Jim Meyering  <jim@meyering.net>
56970
56971         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
56972
56973         * lib/linebuffer.c: Include <string.h> for declaration of memset.
56974
56975 2003-10-30  Paul Eggert  <eggert@twinsun.com>
56976             Bruno Haible  <bruno@clisp.org>
56977
56978         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
56979         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
56980
56981 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
56982
56983         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
56984         netbsd*-gnu*.  Suggested by Robert Millan.
56985
56986 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56987
56988         * modules/group-member: Depend on stdbool.
56989
56990 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56991
56992         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
56993
56994 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56995
56996         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
56997         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
56998         after the 'gnu' in these cases.  This fixes some bugs in the
56999         previous change, and is based on suggestions by Robert Millan.
57000
57001 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57002
57003         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57004         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57005         no longer needed.
57006         * lib/quotearg.c (quotearg_n_options): Use it.
57007         * lib/group-member.c: Include <stdbool.h>.
57008         (free_group_info): Arg is now const *; don't free arg.
57009         (get_group_info): Now returns bool and accepts struct group_info *,
57010         rather than returning a malloc'ed struct group_info *.
57011         All uses changed.  Check for overflow in internal size calculation.
57012
57013         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57014         rather than xmalloc/xrealloc.
57015         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57016         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57017         conformance bug: the old code used a pointer after freeing the
57018         storage that it addressed.
57019         * lib/hash.c (hash_initialize): Simplify the code by using
57020         xalloc_oversized rather than doing it by hand.
57021         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57022         the buffer preserved.  Use free and xmalloc instead.
57023         * lib/quotearg.c (quotearg_n_options): Likewise.
57024         Use a simpler test for size overflow.  Don't use xalloc_oversized
57025         because unsigned int might be wider than size_t (!); this suggests
57026         that we should switch from unsigned int to size_t for slot numbers.
57027
57028 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57029
57030         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57031         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57032         NetBSD kernels.  Requested by Richard Stallman.
57033
57034 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57035
57036         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57037         to allocate the returned structure.  Do not allocate a subarray,
57038         as x2nrealloc will do that.
57039         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57040         instead of xnrealloc.
57041         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57042
57043 2003-10-27  Bruno Haible  <bruno@clisp.org>
57044
57045         * lib/stdbool_.h: Better support for BeOS.
57046
57047 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57048
57049         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57050         now uses inline.
57051
57052 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57053
57054         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57055         callers that want to do their own size-overflow checking.  Include
57056         <stdbool.h>, since xalloc_oversized returns bool.
57057         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57058         to use xalloc_oversized.
57059
57060         Add two functions x2realloc, x2nrealloc, for programs that grow
57061         arrays dynamically by doubling their sizes.
57062         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57063         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57064         New functions.
57065
57066         Port to C99 semantics for 'inline' of external functions.
57067         Bug reported by Bruno Haible.
57068         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57069         with the old contents of xnmalloc.
57070         (xnmalloc, xmalloc): Use it.
57071         (xnrealloc_inline): New static inline function,
57072         with the old contents of xnrealloc.
57073         (xnrealloc, xrealloc): Use it.
57074
57075         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57076         that.
57077
57078 2003-10-26  Karl Berry  <karl@gnu.org>
57079
57080         * config/srclist.txt (COPYING.DOC): no longer available from
57081         /gd/gnuorg; don't know where the ultimate source is.
57082
57083 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57084
57085         Fix several address-calculation bugs in the hash modules,
57086         plus some minor code cleanup.
57087
57088         * lib/hash.h: Include <stdbool.h>, for bool.
57089         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57090         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57091         hash_get_n_entries, hash_get_max_bucket_length,
57092         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57093         hash_rehash): Use size_t rather than unsigned.
57094         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57095         hash_get_n_buckets_used, hash_get_n_entries,
57096         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57097         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57098         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57099         Likewise.
57100         (SIZE_MAX): Define if not defined.
57101         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57102         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57103         hash_print):
57104         Use const * when possible.
57105         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57106         (check_tuning): Fix bug: if tuning parameters were very close to
57107         0 or 1, rounding errors could have caused subscript violations.
57108         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57109         (hash_initialize): Add 'fail:' label
57110         to free table and return NULL, and use it to simplify code.
57111         Use calloc rather than clearing the storage ourself.
57112         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57113         buffer size calculations.
57114         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57115         Include <stddef.h>, for size_t.
57116         * lib/hash-pjw.c (hash_pjw): Likewise.
57117         Switch to method described by Bruno Haible.
57118         Include <limits.h>, for CHAR_BIT.
57119         (SIZE_BITS): New macro.
57120
57121 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57122
57123         * m4/getline.m4 (AM_FUNC_GETLINE):
57124         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57125         hosts.  Problem reported by Derek Robert Price in
57126         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57127         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57128         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57129
57130 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57131
57132         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57133         ceiling the allocation at NMAX bytes rather than silently
57134         discarding input bytes before NMAX is reached.  This makes
57135         a difference only if NMAX exceeds SIZE_MAX / 2.
57136
57137         * lib/obstack.c: Merge from glibc.
57138         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57139         Add libc_hidden_def (_obstack_newchunk).
57140         (_obstack_free) [! defined _LIBC]: Remove.
57141         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57142         a clone of the function body.
57143         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57144         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57145
57146         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57147         glibc.
57148         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57149         arg to memcpy.
57150
57151         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57152         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57153         Don't use lvalue casts, as GCC plans to remove support for them
57154         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57155         was also present in the non-GCC version, indicating that this
57156         code had always been buggy and had never been widely used.
57157         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
57158         Use the fast variant of each macro, rather than copying the
57159         definiens of the fast variant; that way, we'll be more likely to
57160         catch future bugs in the fast variants.
57161
57162 2003-10-20  Bruno Haible  <bruno@clisp.org>
57163
57164         * modules/wait-process: New file.
57165         * MODULES.html.sh (func_all_modules): Add wait-process.
57166
57167 2003-10-20  Bruno Haible  <bruno@clisp.org>
57168
57169         * m4/wait-process.m4: New file.
57170
57171 2003-10-20  Bruno Haible  <bruno@clisp.org>
57172
57173         * lib/wait-process.h: New file, from GNU gettext.
57174         * lib/wait-process.c: New file, from GNU gettext.
57175
57176 2003-10-19  Jim Meyering  <jim@meyering.net>
57177
57178         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
57179         HPUX 10.20.
57180
57181 2003-10-18  Karl Berry  <karl@gnu.org>
57182
57183         * config/config.guess: update from config.
57184
57185 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57186
57187         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57188         (getgroups): First arg is int, not size_t.
57189         Don't let 'free' mangle errno.
57190
57191 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57192
57193         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57194
57195 2003-10-16  Karl Berry  <karl@gnu.org>
57196
57197         * config/config.{guess,sub}: update from config.
57198
57199 2003-10-16  Jim Meyering  <jim@meyering.net>
57200
57201         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57202         memcpy.
57203
57204 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57205
57206         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57207         (SIZE_MAX): Remove.
57208         (new_exclude, add_exclude_file): Initial size no longer needs to
57209         be a power of 2.
57210         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57211         our own address arithmetic overflow checking.
57212
57213         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57214         (fnmatch): Do not alloca more than 2000 wide characters;
57215         instead, use malloc for large buffers.
57216         Check for address arithmetic overflow, and return -1
57217         with errno set to ENOMEM in that case.
57218         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57219         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57220         instead, return -1.  Check for address arithmetic overflow.
57221
57222 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57223
57224         Handle invalid suffixes and overflow independently, so that
57225         callers can treat them independently as needed.  Fix some bugs in
57226         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57227         suffix for a human-readable blocksize.  The major caller-visible
57228         change is the addition of a new
57229         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57230         that both overflow and suffix chars were found.
57231
57232         * lib/human.c (humblock): Don't check separately for invalid suffix
57233         char; that is xstrtoumax's job (now that its bug is fixed).
57234         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57235         INTMAX_MAX]: New macros.
57236         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57237         TYPE_MAXIMUM): New macros.
57238         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57239         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57240         if overflow occurs, as it's what __strtol does and it's more useful
57241         in practice.
57242         (__xstrtol): If __strtol reports some error other than ERANGE,
57243         reflect it to the caller as LONGINT_INVALID.  If it reports
57244         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57245         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57246         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57247         value.
57248         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57249         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57250         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57251         [defined UINTMAX_MAX]: New macros.
57252
57253 2003-10-14  Bruno Haible  <bruno@clisp.org>
57254
57255         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57256
57257 2003-10-14  Bruno Haible  <bruno@clisp.org>
57258
57259         * m4/sig_atomic_t: New file, from GNU gettext.
57260         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57261
57262 2003-10-14  Bruno Haible  <bruno@clisp.org>
57263
57264         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57265         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57266         Also use volatile where needed.
57267
57268 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57269
57270         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57271         Change maintainer from Bruno Haible to 'all'.
57272
57273 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57274
57275         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57276
57277 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57278
57279         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57280         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57281         and define in terms of the other primitives.
57282         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57283         (SIZE_MAX): Define if not already defined.
57284         (array_size_overflow): New function.
57285         (xalloc_die): Abort instead of exiting if 'error' returns.
57286         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57287         (xmalloc, xrealloc): Use them.
57288         (xcalloc): Check for address arithmetic overflow.
57289         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57290         a bit faster than strcpy.
57291
57292 2003-10-10  Simon Josefsson  <jas@extundo.com>
57293
57294         * modules/argp (Depends-on): Add restrict and strcase.
57295
57296 2003-10-10  Simon Josefsson  <jas@extundo.com>
57297
57298         * m4/argp.m4: Add AC_C_INLINE.
57299
57300 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57301
57302         Merge getpass from libc, plus a few fixes.
57303
57304         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57305         Include <stdbool.h>.
57306         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57307         __fsetlocking to empty.
57308         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57309         do include <bits/libc-lock.h>.
57310         Do not include <fcntl.h>; not needed.
57311         [_LIBC]: Include <wchar.h>.
57312         (NOTCANCEL_MODE): New macro.
57313         (flockfile, funlockfile) [_LIBC]: New macros.
57314         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57315         [!_LIBC]: New macros.
57316         (call_fclose): New function.
57317         (getpass): Use it.  Save tty stream separately; this simplifies the
57318         code and makes it more reliable if stdin happens to equal stdout.
57319         Invoke __fsetlocking on tty.
57320         Handle thread cancellation if needed.
57321         Namespace cleanup (use __tcgetattr, __getline).
57322         Use bool for Booleans.
57323         [USE_IN_LIBIO]: Handle wide streams.
57324         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57325         stream might go where.
57326
57327         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57328         doesn't have to include <stdio.h> before us.
57329         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57330         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57331         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57332         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57333         if not declared, so that we can use getpass.c code from libc without
57334         rewriting it.
57335         (flockfile, ftrylockfile, funlockfile): New macros.
57336
57337 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57338
57339         * modules/getpass: Depend on stdbool.
57340
57341 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57342
57343         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57344
57345 2003-10-07  Karl Berry  <karl@gnu.org>
57346
57347         * config/config.{guess,sub}: update from config.
57348
57349 2003-10-06  Jim Meyering  <jim@meyering.net>
57350             Bruno Haible  <bruno@clisp.org>
57351
57352         This lets translators provide better translations for the
57353         "Written by ..." part of --version output.
57354         * lib/version-etc.h: Include stdarg.h.
57355         (version_etc_copyright): Declare as readonly.
57356         (version_etc): Make this function variadic with a NULL-terminated list
57357         of author name strings.
57358         (version_etc_va): New declaration.
57359         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57360         (version_etc_copyright): Declare as readonly.
57361         (version_etc_va): New function. Provide a different translatable string
57362         for each possible number of authors < 10. Abbreviate when there are 10
57363         authors or more.
57364         (version_etc): Make this function variadic. Call version_etc_va.
57365         Suggestion from Gary V. Vaughan.
57366
57367         * lib/long-options.h (parse_long_options): Change prototype: the
57368         authors string is moved to the end and becomes variadic.
57369         * lib/long-options.c: Include stdarg.h.
57370         (parse_long_options): Make this function variadic, too.
57371         Call version_etc_va, not version_etc.
57372
57373 2003-10-06  Bruno Haible  <bruno@clisp.org>
57374
57375         * modules/version-etc-2: Remove file.
57376         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57377
57378 2003-10-06  Bruno Haible  <bruno@clisp.org>
57379
57380         * modules/fatal-signal: New file.
57381         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57382
57383 2003-10-06  Bruno Haible  <bruno@clisp.org>
57384
57385         * m4/fatal-signal.m4: New file.
57386         * m4/signalblocking.m4: New file, from GNU gettext.
57387
57388 2003-10-06  Bruno Haible  <bruno@clisp.org>
57389
57390         * lib/version-etc-2.h: Remove file.
57391         * lib/version-etc-2.c: Remove file.
57392
57393 2003-10-06  Bruno Haible  <bruno@clisp.org>
57394
57395         * lib/fatal-signal.h: New file, from GNU gettext.
57396         * lib/fatal-signal.c: New file, from GNU gettext.
57397
57398 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57399
57400         * README: Rework advice for preventing empty .o files.
57401         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57402         not <sys/types.h>.
57403
57404 2003-10-04  Karl Berry  <karl@gnu.org>
57405
57406         * lib/argp*: update from libc.
57407
57408 2003-10-04  Karl Berry  <karl@gnu.org>
57409
57410         * config/config.{guess,sub}: update from config.
57411
57412 2003-10-02  Bruno Haible  <bruno@clisp.org>
57413
57414         * modules/lchown (Include): Add lchown.h.
57415         * modules/time_r (Include): Use "..." syntax.
57416         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57417
57418 2003-10-01  Simon Josefsson  <jas@extundo.com>
57419
57420         * MODULES.html.sh (func_all_modules): Move gethostname from section
57421         'based on' to section 'lacking' POSIX:2001.
57422
57423 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57424
57425         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57426         to output mode on the same stream.
57427
57428 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57429
57430         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57431         Fix arg typo in previous patch.
57432
57433 2003-09-28  Jim Meyering  <jim@meyering.net>
57434
57435         * lib/error.c: Correct cpp indentation.
57436
57437 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57438
57439         * modules/free: New file.
57440
57441 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57442
57443         * m4/free.m4: New file.
57444
57445 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57446
57447         * lib/minmax.h (MIN, MAX)
57448         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57449         Omit the special code that used __typeof__, since we worry that
57450         it could be more trouble than it's worth.  See:
57451         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57452         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57453
57454         * lib/free.c: New file.
57455
57456 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57457
57458         Trivial fixes to Makefile.am parts of module listings.
57459         * modules/strstr: Append strstr.h to lib_SOURCES.
57460         * modules/strcase: Likewise, for strcase.h.
57461
57462 2003-09-27  Karl Berry  <karl@gnu.org>
57463
57464         * config/mkinstalldirs: update from automake.
57465
57466 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57467
57468         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57469         (error_tail): Do not loop, reallocating temporary buffer, since
57470         the output cannot contain more wide characters than the input
57471         contains bytes, the size must be big enough already.  This avoids
57472         one potential size overflow calculation.  Check for size overflow
57473         when calculating temporary buffer size.  Free temporary buffer
57474         when done, if it was allocated with malloc; this plugs a memory
57475         leak.  Remove casts from void * to pointers, that are no longer
57476         needed now that we're assuming C89 or better.
57477
57478         Merge error changes from glibc.
57479
57480         * lib/error.c, error.h: Update copyright notice header to match glibc.
57481         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57482         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57483         Disable cancellation while printing error.
57484         * lib/error.h: Prepend __ to parameter names.
57485
57486 2003-09-26  Jim Meyering  <jim@meyering.net>
57487
57488         * lib/error.c (error_tail): Move some declarations
57489         into inner scope where the local variables are used.
57490
57491 2003-09-26  Bruno Haible  <bruno@clisp.org>
57492
57493         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57494         stpncpy().
57495         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57496
57497 2003-09-26  Bruno Haible  <bruno@clisp.org>
57498
57499         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57500         (stpncpy): Define as alias for gnu_stpncpy.
57501         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57502
57503 2003-09-25  Simon Josefsson  <jas@extundo.com>
57504
57505         * lib/xgetdomainname.h: New file.
57506         * lib/xgetdomainname.c: New file.
57507
57508 2003-09-25  Simon Josefsson  <jas@extundo.com>
57509             Bruno Haible  <bruno@clisp.org>
57510
57511         * modules/getdomainname: New file.
57512         * modules/xgetdomainname: New file.
57513         * MODULES.html.sh (func_all_modules): Add getdomainname,
57514         xgetdomainname.
57515
57516 2003-09-25  Simon Josefsson  <jas@extundo.com>
57517             Bruno Haible  <bruno@clisp.org>
57518
57519         * m4/getdomainname.m4: New file.
57520
57521 2003-09-25  Simon Josefsson  <jas@extundo.com>
57522             Bruno Haible  <bruno@clisp.org>
57523
57524         * lib/getdomainname.h: New file.
57525         * lib/getdomainname.c: New file.
57526
57527 2003-09-25  Karl Berry  <karl@gnu.org>
57528
57529         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57530
57531 2003-09-25  Karl Berry  <karl@gnu.org>
57532
57533         * config/install-sh: update from automake.
57534
57535 2003-09-25  Bruno Haible  <bruno@clisp.org>
57536
57537         * modules/version-etc-2: New file, from modules/version-etc with
57538         modifications.
57539         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57540
57541 2003-09-25  Bruno Haible  <bruno@clisp.org>
57542
57543         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57544         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57545
57546 2003-09-24  Simon Josefsson  <jas@extundo.com>
57547
57548         * modules/xgethostname: Add xgethostname.h.
57549
57550 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57551
57552         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57553         the buffer associated with the argument.  Bug reported by
57554         Simon Josefsson.
57555
57556 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57557
57558         * README: Document assumptions that 'int' is at least 32 bits
57559         wide, that integer arithmetic is 2's complement without overflow,
57560         that there are no holes in integer values, that adding sizes of
57561         two nonoverlapping objects can't overflow, and that all-bits-zero
57562         yields scalar zero.  Fix spelling and capitalization typos.
57563
57564 2003-09-19  Karl Berry  <karl@gnu.org>
57565
57566         * lib/argp.h: update from libc.
57567
57568 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57569
57570         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57571         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57572         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57573
57574 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57575
57576         * gnulib-tool: Use "test -h", not "test -L", for portability
57577         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57578         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57579         (sed_extract_prog): Issue s commands one-by-one, rather than
57580         using \| in one s command.
57581
57582 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57583
57584         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57585         input error, instead of returning NULL the next time we are called
57586         (and therefore losing track of errno).
57587
57588 2003-09-16  Bruno Haible  <bruno@clisp.org>
57589
57590         * gnulib-tool (func_create_testdir): Warn about duplicated
57591         dependencies.
57592
57593 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57594
57595         * modules/argmatch, modules/fatal, modules/obstack,
57596         modules/xalloc, modules/xgethostname: Sort dependencies by
57597         importance, not alphabetically.
57598
57599 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57600
57601         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57602         fails, so that the caller gets the proper errno.
57603
57604         * lib/readutmp.c (read_utmp): Likewise.
57605         Check for fstat error.  Close stream and free storage
57606         when failing.
57607
57608 2003-09-14  Karl Berry  <karl@gnu.org>
57609
57610         * config/srclist.txt (strdup.c): disable for c89 changes.
57611
57612 2003-09-14  Jim Meyering  <jim@meyering.net>
57613
57614         * lib/getloadavg.c: Correct cpp indentation.
57615         * lib/strdup.c: Likewise.
57616         * lib/vasnprintf.c: Likewise.
57617
57618 2003-09-14  Bruno Haible  <bruno@clisp.org>
57619
57620         * modules/fwriteerror: New file.
57621         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57622
57623 2003-09-14  Bruno Haible  <bruno@clisp.org>
57624
57625         * lib/fwriteerror.h: New file.
57626         * lib/fwriteerror.c: New file.
57627
57628 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57629
57630         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57631         modules/xgethostname, modules/xalloc: Depend on exit.
57632
57633 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57634
57635         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57636
57637         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57638         and AC_MINIX, too, so that their extensions are available.
57639
57640         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
57641         This macro has been superseded by gl_BACKUPFILE.
57642
57643         More patches to assume C89 or better.
57644
57645         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
57646
57647         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
57648         unconditionally.
57649         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
57650         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
57651         Include <string.h>, <stdlib.h> unconditionally.
57652         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
57653         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
57654         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
57655         headers or for string.h.
57656         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
57657         or strtoul.
57658
57659         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
57660         headers.
57661         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
57662         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57663         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
57664         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
57665         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57666         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
57667         memcpy, memset.
57668         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
57669         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
57670         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
57671         strtol.
57672         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
57673         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
57674         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
57675         strtoul.
57676
57677 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57678
57679         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
57680         * lib/obstack.c [!defined _LIBC]: Likewise.
57681         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
57682         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
57683         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
57684
57685         More changes to assume C89 or better.
57686
57687         * lib/error.c (error_tail): Assume vprintf.
57688
57689         * lib/argmatch.c (getenv): Remove decl.
57690         * lib/progreloc.c (get_full_program_name): Define via prototype.
57691         * lib/setenv.c (clearenv): Likewise.
57692         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
57693         needed.
57694         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
57695         (malloc, memcpy): Remove decls.
57696         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
57697         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
57698         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57699         (memcpy): Remove macro.
57700         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
57701         (__P): Remove.  All uses removed.
57702         (PTR): Remove.  All uses changed to void *.
57703         (CHAR_BIT, NULL): Remove.
57704         (spaces, zeros, memset_space, memset_zero)
57705         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
57706         Remove.
57707         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
57708         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
57709         Define with prototype.
57710         Remove now-unnecessary prototype decl.
57711         (extra_args_spec): Assume ANSI C.  All uses changed.
57712         (extra_args_spec_iso): Remove.
57713         (my_strftime, emacs_strftimeu): Define via prototype.
57714         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
57715         unconditionally.
57716         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
57717         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
57718         (strtoul, strtol): Remove decls.
57719         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
57720         LONG_MAX): Remove.
57721         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57722         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
57723         (LOCALE_PARAM_PROTO): New macro.
57724         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
57725         (INTERNAL (strtol), strtol): Define with a prototype.
57726         (PARAMS): Remove.  All uses removed.
57727         * lib/tempname.c: Include <string.h> unconditionally.
57728         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
57729         * lib/xgethostname.c (main): Define with a prototype.
57730         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
57731         Include <stdlib.h> unconditionally.
57732         (calloc, malloc, realloc, free): Remove decls.
57733         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
57734         Include <stdlib.h> unconditionally.  Sort include file names.
57735         (strtod): Remove.
57736         (xstrtod): Define with a prototype.
57737         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
57738         (strtol, strtoul): Remove decls.
57739
57740 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57741
57742         More patches to assume C89 or better.
57743         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
57744         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
57745         string.h, memchr, STDC_HEADERS.
57746
57747 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57748
57749         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
57750         Include <stdlib.h>, <string.h> unconditionally.
57751         Remove now-unnecessary cast to char *.
57752         * lib/strnlen.c: Include <string.h> unconditionally.
57753         * lib/yesno.c (yesno): Define with a prototype.
57754
57755 2003-09-11  Bruno Haible  <bruno@clisp.org>
57756
57757         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
57758
57759 2003-09-10  Jim Meyering  <jim@meyering.net>
57760
57761         * lib/error.c: Correct indentation of cpp directives.
57762
57763 2003-09-10  Bruno Haible  <bruno@clisp.org>
57764
57765         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
57766         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
57767         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
57768         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
57769         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
57770         <stdlib.h> and <string.h> checks.
57771         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
57772         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
57773
57774 2003-09-10  Bruno Haible  <bruno@clisp.org>
57775
57776         * lib/strcspn.c: Include <string.h> unconditionally.
57777         * lib/strpbrk.c: Include <string.h> unconditionally.
57778         * lib/strstr.c: Include <string.h> unconditionally.
57779         * lib/unicodeio.c: Include <string.h> unconditionally.
57780         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
57781         * lib/unsetenv.c: Likewise.
57782         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
57783         * lib/yesno.c: Include <stdlib.h> unconditionally.
57784         (rpmatch): Add prototype.
57785
57786 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57787
57788         More patches to assume C89 or better.
57789         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
57790         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
57791         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
57792         or for string.h.
57793         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
57794         stdlib.h.
57795         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
57796         C headers.
57797         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
57798         string.h.
57799         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
57800         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
57801         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
57802         or for string.h.
57803         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
57804         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
57805         C headers.
57806         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
57807         memcpy.
57808         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
57809         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
57810         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
57811         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
57812         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
57813         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
57814         string.h, free.
57815         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
57816         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
57817         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
57818         C headers, or for string.h.
57819         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
57820         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
57821         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
57822         headers, memory.h, stdlib.h, string.h, strings.h.
57823         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
57824         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
57825         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
57826         strchr.
57827         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
57828         headers, memory.h, string.h.
57829         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
57830         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
57831         free.
57832         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
57833         headers.
57834         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
57835         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
57836         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
57837         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
57838         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
57839
57840 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57841
57842         More K&R removal.
57843
57844         * lib/acosl.c (main): Use a prototype.
57845         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
57846         tanl.c: Likewise.
57847
57848         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
57849
57850         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
57851         (getopt, etopt_long, getopt_long_only, _getopt_internal)
57852         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
57853         with a prototype.
57854         * lib/getopt.c (const): Remove macro.
57855         Include <string.h> unconditionally.
57856         (my_index): Remove; all uses changed to strchr.
57857         (strlen): Remove decl.
57858         (exchange): Remove forward decl; no longer needed.
57859         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
57860         Define with prototype.
57861         * lib/getopt1.c (const): Remove macro.
57862         (getopt_long, getopt_long_only, main): Define with prototype.
57863
57864         * lib/getugroups.c: Include <string.h> unconditionally.
57865
57866         * lib/getusershell.c: Include <stdlib.h> unconditionally.
57867         (getusershell, setusershell, endusershell, readname, main):
57868         Define with prototypes.
57869
57870         * lib/group-member.c: Include group-member.h first.
57871         Include <stdlib.h> unconditionally.
57872
57873         * lib/hard-locale.c: Include hard-locale.h first.
57874         Include <stdlib.h>, <string.h> unconditionally.
57875
57876         * lib/hash.c (free, malloc): Remove decls.
57877         Include <stdlib.h> unconditionally.
57878
57879         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
57880         (getenv): Do not declare.
57881
57882         * lib/idcache.c: Include <string.h> unconditionally.
57883
57884         * lib/long-options.c: Include long-options.h first, to test interface.
57885         Include <stdlib.h> unconditionally.
57886
57887         * lib/makepath.c: Include makepath.h first, to test interface.
57888         Include <stdlib.h> and <string.h> unconditionally.
57889
57890         * lib/linebuffer.c: Include <stdlib.h>.
57891         (free): Remove decl.
57892
57893         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
57894         stddef.h. rpl_malloc returns void *, not char *.
57895         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
57896         prototype.
57897
57898         * lib/md5.h: Include <limits.h> unconditionally.
57899         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
57900         (__P): Remove; all uses removed.
57901         * lib/md5.c: Include "md5.h" first.
57902         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
57903         md5_buffer, md5_process_bytes, md5_process_block):
57904         Define with prototypes.
57905         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
57906         * lib/sha.c: Include "sha.h" first.
57907         Include <stdlib.h>, <string.h> unconditionally.
57908
57909         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
57910         * lib/memcmp.c (__ptr_t): Likewise.
57911         * lib/memrchr.c (__ptr_t): Likewise.
57912         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
57913         Include <string.h> unconditionally.
57914         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
57915         * lib/memchr.c: Include <stdlib.h> unconditionally.
57916         * lib/memchr.c (LONG_MAX): Remove.
57917         * lib/memrchr.c (LONG_MAX): Likewise.
57918         * lib/memchr.c (__memchr): Define via a prototype.
57919         * lib/memrchr.c (__memrchr): Likewise.
57920         * lib/memcmp.c (__P): Remove, and remove all uses.
57921         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
57922         Remove forward decls; no longer needed.
57923         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
57924         Use types required by C89 in prototype.
57925
57926         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
57927         * lib/savedir.c: Likewise.
57928         * lib/mkdir.c (free): Remove decl.
57929         * lib/rmdir.c (rmdir): Define with a prototype.
57930         * lib/savedir.c: Include savedir.h first, to test interface.
57931
57932         * lib/mktime.c (STDC_HEADERS): Remove.
57933         Include <stdlib.h>, <string.h> unconditionally.
57934
57935         * lib/modechange.c: Include <stdlib.h> unconditionally.
57936         (malloc): Remove decl.
57937
57938         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
57939         (free): Remove decl.
57940
57941         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
57942         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
57943         (This type really should be intptr_t, but that's a C99ism.)
57944         (_obstack_memcpy): Remove: all uses changed to memcpy.
57945         Include <string.h> unconditionally.
57946         (struct obstack): Assume __STDC__ for types of members
57947         chunkfun, freefun, extra_arg.
57948         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
57949         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
57950         obstack_begin, obstack_specify_allocation,
57951         obstack_specify_allocation_with_arg, obstack_chunkfun,
57952         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
57953         Remove unprototyped decls and the macros that use them.
57954         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
57955         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
57956         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
57957         (defined __STDC__ && __STDC__)]:
57958         Remove nonprototyped code.
57959         Include <stdlib.h> unconditionally.
57960         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
57961         _obstack_allocated_p, _obstack_free, obstack_free,
57962         _obstack_memory_used, print_and_abort):
57963         Define using prototypes.
57964         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
57965         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
57966         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
57967         obstack_next_free, obstack_object_size, obstack_room) [0]:
57968         Remove unused, unprototyped code.
57969
57970         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
57971
57972         * lib/physmem.c (physmem_total, physmem_available, main): Define
57973         with prototypes.
57974
57975         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
57976         (main): Define with a prototype.
57977
57978         * lib/posixver.c (getenv): Remove decl.
57979
57980         * lib/putenv.c (malloc): Returns void *, not char *.
57981         Include <string.h> unconditionally.
57982         (strchr, memcpy, NULL): Do not define.
57983
57984         * lib/readtokens.c: Include readtokens.h first, to test interface.
57985         Include <stdlib.h>, <string.h> unconditionally.
57986         (init_tokenbuffer): Define with a prototype.
57987
57988         * lib/regex.c (PARAMS): Remove.  All uses removed.
57989         All uses of _RE_ARGS removed, too.
57990         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57991         unconditionally.
57992         (bzero): Assume memset exists.
57993         (memcmp, memcpy, NULL): Remove.
57994         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
57995         char, or assignments to local vars of type signed char.
57996         (init_syntax_once, PREFIX(extract_number_and_incr),
57997         PREFIX(print_partial_compiled_pattern),
57998         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
57999         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58000         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58001         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58002         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58003         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58004         wcs_compile_range, byte_compile_range, truncate_wchar,
58005         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58006         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58007         count_mbs_length, wcs_re_match_2_internal,
58008         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58009         PREFIX(alt_match_null_string_p),
58010         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58011         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58012         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58013         now-unnecessary declaration, if any.
58014         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58015         regcomp, regexec):
58016         Remove now-unnecessary casts among pointer types.
58017         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58018
58019         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58020         (free): Remove decl.
58021
58022         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58023
58024         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58025         (free): Remove decl.
58026
58027         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58028         * lib/xgetcwd.c: Likewise.
58029
58030         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58031         (free): Remove decl.
58032
58033         * lib/strchrnul.c (strchrnul): Define with a prototype.
58034         Fix bug: c_in was not converted to char before searching.
58035
58036         The following changes are not K&R related:
58037
58038         * lib/group-member.h: Include <sys/types.h>, so that this file is
58039         self-contained.
58040         * lib/makepath.h: Likewise.
58041
58042         * lib/getusershell.c (readname, default_index, line_size, readname):
58043         Use size_t, not int, for sizes.
58044         (readname): If the size overflows, report an error instead of
58045         looping forever.
58046
58047 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58048
58049         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58050         libc.
58051
58052 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58053
58054         * README: New section: portability guidelines.
58055
58056 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58057
58058         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58059         C89 spec.
58060
58061 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58062
58063         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58064
58065 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58066
58067         Assume C89 or better; remove K&R cruft.
58068         A few of these changes were first proposed by Derek Robert Price
58069         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58070
58071         * lib/addext.c: Include <string.h> unconditionally.
58072         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58073         Don't declare getenv or malloc.
58074
58075         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58076         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58077         (NULL): Remove.
58078         (find_stack_direction, alloca): Use prototypes.
58079
58080         * lib/atexit.c (atexit): Define using a prototype.
58081
58082         * lib/basename.c, dirname.c, stripslash.c:
58083         Include <string.h> unconditionally.
58084
58085         * lib/bcopy.c: Include <stddef.h>.
58086         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58087
58088         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58089
58090         * lib/error.h (error, error_at_line, error_print_progname)
58091         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58092         * lib/error.c: Include error.h first, to check interface.
58093         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58094         (VA_START): Remove; all uses changeed to va_start.
58095         (exit, strerror): Remove decls.
58096         (error_print_progname): Prototype uncondionally.
58097         Don't include <errno.h>; no longer needed.
58098         (private_strerror): Remove.
58099         (error_tail): Always define.
58100         (error, error_at_line): Assume C89 or better; always use prototypes.
58101         * lib/fatal.c: Include "fatal.h" first, to test interface.
58102         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58103         (VA_START): Remove; all uses changed to va_start.
58104         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58105         this case.
58106         (exit): Remove decl.
58107         (fatal): Prototype unconditionally.  Assume va_start works.
58108         Abort at end, to pacify gcc.
58109
58110         * lib/euidaccess.c (main): Define with a prototype.
58111
58112         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58113
58114         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58115
58116         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58117         prototypes.
58118         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58119         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58120         (getenv): Remove decl.
58121         (fnmatch): Define using a prototype.
58122         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58123         (FCT): Define using a prototype.
58124
58125         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58126
58127         * lib/gethostname.c: Include <stddef.h>.
58128         (gethostname): Define with prototype.  Length is size_t, not int.
58129
58130 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58131
58132         Assume C89 or better; remove K&R cruft.
58133         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58134         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58135         string.h, getenv, malloc.
58136         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58137         headers.
58138         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58139         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58140         do not check for strerror.
58141         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58142         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58143         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58144         do not check for doprnt or vprintf.
58145         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58146         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58147
58148 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58149
58150         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58151         getversion.c should have been removed then, but was accidentally
58152         preserved.
58153
58154         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58155         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58156
58157 2003-09-08  Karl Berry  <karl@gnu.org>
58158
58159         * config/config.sub, config.guess, srclistvars.sh: update from savannah
58160                 config, forget about prep.
58161
58162         * config/depcomp, missing: update from automake.
58163
58164 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58165
58166         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
58167         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58168
58169 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58170
58171         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
58172         copy_tm_result.  Bug reported by Simon Josefsson in
58173         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58174
58175 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58176
58177         * m4/time_r.m4: New file.
58178         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
58179         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
58180         is. Check for timegm declaration.
58181         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
58182         Do not check for gmtime_r.
58183         Replace mktime if __mktime_internal does not exist and if mktime
58184         hasn't been replaced already.
58185
58186 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58187
58188         * lib/time_r.c, lib/time_r.h: New files.
58189
58190         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58191         __localtime_r.
58192         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58193         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58194
58195         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58196         __gmtime_r.
58197         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58198         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58199         Include <time_r.h>.
58200
58201         * lib/timegm.c: Switch to glibc implementation, with the following
58202         changes:
58203         [defined HAVE_CONFIG_H]: Include <config.h>.
58204         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58205         (__mktime_internal) [!defined _LIBC]: New decl.
58206         (__gmtime_r) [!defined _LIBC]: New macro and function.
58207         (timegm): Use a prototype, since gnulib assumes C89.
58208         Do not bother declaring tmp to be const, as it's not really usefu.
58209         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58210         (timegm): Declare only if HAVE_DECL_TIMEGM.
58211
58212 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58213
58214         * MODULES.html.sh (func_all_modules): Add time_r.
58215         * modules/time_r: New file.
58216         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58217         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58218
58219 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58220
58221         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58222         Bug reported by Lute Kamstra in
58223         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58224
58225         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58226         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58227         course with correspondingly smaller numbers for tomorrow and
58228         yesterday.  From Tadayoshi Funaba.  Originally installed into
58229         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58230         coreutils merge?).
58231
58232 2003-08-31  Simon Josefsson  <jas@extundo.com>
58233
58234         * modules/timegm: New file.
58235         * MODULES.html.sh (func_all_modules): Add timegm.
58236
58237 2003-08-31  Simon Josefsson  <jas@extundo.com>
58238
58239         * m4/timegm.m4: New file.
58240
58241 2003-08-31  Simon Josefsson  <jas@extundo.com>
58242
58243         * lib/timegm.h: New file.
58244         * lib/timegm.c: New file.  Based on
58245         wget-1.8.2/src/http.c:mktime_from_utc.
58246
58247 2003-08-31  Karl Berry  <karl@gnu.org>
58248
58249         * lib/argp.h: update from libc.
58250
58251 2003-08-28  Bruno Haible  <bruno@clisp.org>
58252
58253         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58254         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58255         followed by '#define fnmatch fnmatch_posix' gives an error.
58256
58257 2003-08-28  Bruno Haible  <bruno@clisp.org>
58258
58259         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58260         warning on QNX, which defines O_BINARY to 000000.
58261
58262 2003-08-27  Jim Meyering  <jim@meyering.net>
58263
58264         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58265         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58266         would fail after 32.  Reported by Danny Levinson.  Details here:
58267         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58268
58269 2003-08-24  Bruno Haible  <bruno@clisp.org>
58270
58271         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58272         MSVC7 <stdio.h> is included later.
58273
58274 2003-08-22  Simon Josefsson  <jas@extundo.com>
58275
58276         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58277
58278 2003-08-20  Karl Berry  <karl@gnu.org>
58279
58280         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58281
58282 2003-08-20  Bruno Haible  <bruno@clisp.org>
58283
58284         * modules/progname: New file.
58285         * MODULES.html.sh (func_all_modules): Add progname.
58286
58287 2003-08-20  Bruno Haible  <bruno@clisp.org>
58288
58289         * lib/progname.h: New file, from GNU gettext.
58290         * lib/progname.c: New file, from GNU gettext.
58291         * lib/progreloc.c: New file, from GNU gettext.
58292
58293 2003-08-19  Jim Meyering  <jim@meyering.net>
58294
58295         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58296         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58297
58298 2003-08-19  Bruno Haible  <bruno@clisp.org>
58299
58300         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58301         more.
58302
58303 2003-08-19  Bruno Haible  <bruno@clisp.org>
58304
58305         * lib/xstrdup.c: Assume <string.h> exists.
58306
58307 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58308
58309         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58310         in makefile rules.
58311
58312 2003-08-18  Jim Meyering  <jim@meyering.net>
58313
58314         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58315         * m4/lib-ld.m4: Likewise.
58316
58317 2003-08-18  Jim Meyering  <jim@meyering.net>
58318
58319         * lib/setenv.h: Indent nested cpp directive.
58320         * lib/vasnprintf.c: Remove trailing blanks.
58321
58322 2003-08-17  Simon Josefsson  <jas@extundo.com>
58323
58324         * modules/xstrndup: New file.
58325         * MODULES.html.sh (func_all_modules): Add xstrndup.
58326
58327 2003-08-17  Simon Josefsson  <jas@extundo.com>
58328
58329         * modules/argp: Fix autoconf macro name. Add more dependencies.
58330
58331 2003-08-17  Simon Josefsson  <jas@extundo.com>
58332
58333         * m4/xstrndup.m4: New file.
58334
58335 2003-08-17  Simon Josefsson  <jas@extundo.com>
58336
58337         * m4/argp.m4: New file.
58338
58339 2003-08-17  Simon Josefsson  <jas@extundo.com>
58340             Bruno Haible  <bruno@clisp.org>
58341
58342         * lib/xstrndup.h: New file.
58343         * lib/xstrndup.c: New file.
58344
58345 2003-08-17  Bruno Haible  <bruno@clisp.org>
58346
58347         * modules/strndup (Files, Include): Add lib/strndup.h.
58348
58349 2003-08-17  Bruno Haible  <bruno@clisp.org>
58350
58351         * modules/euidaccess (Files): Add lib/euidaccess.h.
58352
58353 2003-08-17  Bruno Haible  <bruno@clisp.org>
58354
58355         * lib/strndup.h: New file.
58356
58357 2003-08-17  Bruno Haible  <bruno@clisp.org>
58358
58359         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58360         like AC_GNU_SOURCE.
58361         * modules/extensions (configure.ac): Comment out the invocation of
58362         gl_USE_SYSTEM_EXTENSIONS.
58363
58364 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58365
58366         Merges from coreutils, etc.
58367         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58368         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58369         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58370         fixing a typo.
58371         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58372         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58373
58374 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58375
58376         Document merge from coreutils.
58377         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58378         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58379         * modules/utime: Add m4/utimes-null.m4.
58380
58381 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58382
58383         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58384         space, undoing this 2003-08-12 change:
58385         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58386
58387 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58388
58389         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58390         strtoul.c from libc, undoing this 2003-08-12 change:
58391         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58392
58393 2003-08-16  Jim Meyering  <jim@meyering.net>
58394
58395         Merges from coreutils.
58396         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58397         prefix.  Adjust cache variables similarly.  Create 500 rather than
58398         just 300 files, to exercise bug on Darwin6.5, too.
58399         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58400         $missing_dir.
58401         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58402         AM_SYS_POSIX_TERMIOS.
58403         Reported by mkc@mathdogs.com.
58404         Also change use of $am_cv_sys_posix_termios
58405         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58406         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58407         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58408         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58409         in /proc/mounts until it finds one with matching device number.  This
58410         is unnecessary when the FILE argument *is* a mount point.  No stat call
58411         is necessary in that case.  So, disable the statvfs-testing code on
58412         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58413         as RedHat bug# 84846.
58414         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58415         to 1MB, so as not to render systems with no stack size limit (e.g.,
58416         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58417         Include <unistd.h>.  On some systems,
58418         it is required for the definition of _SC_PAGESIZE.
58419
58420 2003-08-16  Jim Meyering  <jim@meyering.net>
58421
58422         Merge from coreutils.
58423         * lib/xstrtoimax.c: #else #if -> #elif.
58424         * lib/xstrtoumax.c: Likewise.
58425
58426 2003-08-16  Jim Meyering  <jim@meyering.net>
58427
58428         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58429         * m4/utimes.m4: Removed.
58430         * m4/utimes-null.m4: Renamed from utimes.m4.
58431
58432         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58433         to 1MB, so as not to render systems with no stack size limit (e.g.,
58434         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58435         Include <unistd.h>.  On some systems,
58436         it is required for the definition of _SC_PAGESIZE.
58437
58438 2003-08-16  Jim Meyering  <jim@meyering.net>
58439         and Paul Eggert  <eggert@cs.ucla.edu>
58440
58441         Merges from coreutils, etc.
58442
58443         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58444         using the latest version from cvs.  This avoids problems with #line
58445         directives using a vendor (Sun) compiler.
58446         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58447         Don't set GETGROUPS_LIB here; now it's
58448         done via getgroups.m4's wrapper function.
58449         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58450         rather than just in sh-util/configure.in, so that the
58451         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58452         same.
58453         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58454         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58455         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58456         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58457         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58458         Remove code that is now done by the newly-required macros.
58459         Append $(EXEEXT) to DF_PROG.
58460         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58461         Do not invoke or require the following here,
58462         since prereq.m4 or some gnulib .m4 now does this for us:
58463         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58464         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58465         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58466         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58467         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58468         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58469         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58470         AC_FUNC_OBSTACK.
58471         Do not replace the following functions, as this is now the job
58472         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58473         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58474         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58475         atexit getpass, strdup, getpagesize.
58476         Replace 'raise'.
58477         Do not check for the following functions, as this is now the job
58478         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58479         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58480         setregid.
58481         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58482         Check for sys/sysctl.h.
58483         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58484         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58485         of checking for ssize_t ourselves.
58486
58487         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58488         Require every macro that gnulib/modules/* suggests for us.
58489         (jm_PREREQ_ADDEXT): New macro.
58490         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58491         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58492
58493         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58494         (gl_PHYSMEM): Use it.
58495         Also check for `table' function.
58496         Check for new headers and functions.
58497         Add check for sys/sysmp.h.
58498         With suggestions from Kaveh Ghazi.
58499         Ignore headers that are present but cannot be compiled.  This
58500         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58501         C 5.4.
58502
58503 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58504
58505         Document merge from coreutils.
58506         * modules/userspec: Depend on posixver.
58507         * modules/strftime: Depend on tzset.
58508
58509 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58510
58511         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58512         rather than tab, after '#' in shell-script copyright notices.
58513         Suggested by Bruno Haible.
58514
58515 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58516
58517         * config/srclist-update: Use three spaces, rather than tab, after '#'
58518         in shell-script copyright notices.  Suggested by Bruno Haible.
58519         Remove unnecessary parenthesization in regular expression.
58520
58521 2003-08-15  Jim Meyering  <jim@meyering.net>
58522
58523         Merge from coreutils.
58524         * lib/xgethostname.c: Include <stdlib.h>.
58525         (xghostname): Don't exit for anything other than memory-related
58526         failure; just return NULL.
58527         * lib/userspec.c: Include "posixver.h".
58528         (parse_user_spec): Accept `.' as a separator only
58529         in pre-POSIX-200112 mode.
58530         * lib/strtoimax.c: Use #elif rather than #else #if.
58531         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58532         Remove function, now that we can rely on a working tzset function.
58533         [!_LIBC]: Ensure that the required autoconf test has been run.
58534         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58535         Use underlying_strftime for %r.
58536         * lib/sha.c: Merge in some clean-up and optimization changes from
58537         glibc.
58538         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58539         Ensure that it is a multiple of 64.
58540         Rearrange loop exit tests so as to avoid performing an
58541         additional fread after encountering an error or EOF.
58542         * lib/realloc.c: Update copyright date.
58543
58544 2003-08-15  Jim Meyering  <jim@meyering.net>
58545         and Paul Eggert  <eggert@twinsun.com>
58546
58547         Merge from coreutils.
58548         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58549         member but strut utmpx does not.  Needed for AIX 4.3.3.
58550         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58551
58552 2003-08-15  Jim Meyering  <jim@meyering.net>
58553         and Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         Merges from coreutils, etc.
58556         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58557         Require gl_FUNC_TZSET_CLOBBER.
58558         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58559         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58560         members.
58561
58562 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58563
58564         Help the merge from coreutils.
58565         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58566         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58567         * m4/tzset.m4: Use it too.
58568
58569 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58570
58571         * modules/tzset: New file.
58572
58573 2003-08-14  Jim Meyering  <jim@meyering.net>
58574
58575         Merges from coreutils.
58576         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58577         variable names, rather than @FNMATCH_H@.
58578         * modules/alloca: Likewise for $(ALLOCA_H).
58579
58580         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58581         the three copies of the literal target, `fnmatch.h'.
58582         * modules/alloca (alloca.h): Likewise.
58583
58584 2003-08-14  Jim Meyering  <jim@meyering.net>
58585
58586         Merge from coreutils.
58587         * m4/tzset.m4: New file.
58588         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58589         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58590         otherwise, AIX 5.1 systems would end up using the latter.
58591         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58592         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58593         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58594         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58595
58596 2003-08-14  Jim Meyering  <jim@meyering.net>
58597
58598         Merge from coreutils.
58599         * lib/obstack.h: Whitespace changes.
58600         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58601         and xcalloc return values.
58602         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58603         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58604         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58605         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58606         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58607         error from mntctl.
58608         Use mntctl's return value to drive the entry-processing loop, since
58609         we can't rely on the value of the vmt_length member in the last
58610         entry.  On some systems doing so could result in exhausting
58611         virtual memory.  Based in part on a patch from Mike Jetzer.
58612
58613 2003-08-14  Jim Meyering  <jim@meyering.net>
58614         and Paul Eggert  <eggert@twinsun.com>
58615
58616         Merges from coreutils, plus other fixes.
58617         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58618         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58619         for credits and details.  Thanks to Kaveh Ghazi for helping
58620         to keep these files in sync.
58621         (ARRAY_SIZE): Define it.
58622         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58623         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58624         (memcasecmp): Don't assume size_t fits in unsigned int.
58625         Remove casts and duplicate code.
58626         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58627         (memcpy): Remove definition.
58628         Merge in some clean-up and optimization changes from glibc.
58629         [BLOCKSIZE]: Move definition to top of file.
58630         Ensure that it is a multiple of 64.
58631         Rearrange loop exit tests so as to avoid performing an
58632         additional fread after encountering an error or EOF.
58633         * lib/md5.h (md5_uintptr): Define.
58634         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58635         return to the initial working directory.  Preserve errno
58636         for caller.
58637         * lib/idcache.c: Include "xalloc.h".
58638         (xmalloc, xrealloc): Remove decls.
58639         (getuser): Remove casts no longer required in C89.
58640         * lib/human.c: Include stdio.h, for sprintf.
58641         * lib/group-member.c: Include "xalloc.h".
58642         (xmalloc, xrealloc): Remove decls.
58643         (get_group_info): Remove casts no longer required in C89.
58644         * lib/getusershell.c (readname): Remove casts no longer required in
58645         C89.
58646         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
58647         * lib/getline.c: Whitespace fix, from coreutils.
58648
58649 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58650
58651         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
58652         Check for isascii.
58653
58654         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58655         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58656         Undo previous (whitespace-only) change.
58657
58658 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58659
58660         * lib/exclude.c: Include <ctype.h>
58661         (IN_CTYPE_DOMAIN): New macro.
58662         (is_space): New fn.
58663         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
58664         and empty lines.
58665
58666         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58667         Undo previous (whitespace-only) change.
58668
58669 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58670
58671         * config/srclist-update: Change update back to the old behavior,
58672         leaving whitespace alone.  Use one 'sed' command rather than a
58673         pipeline.
58674         (fixlicense): Now a variable, not a function.
58675         (remove_trailing_blanks): Remove.
58676         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
58677         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58678         Undo previous (whitespace-only) change.
58679
58680 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58681
58682         Merge from coreutils.
58683         * modules/euidaccess: Add lib_SOURCES, include for new
58684         file euidaccess.h
58685
58686 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58687
58688         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58689         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58690         Normalize leading white space and remove trailing white space.
58691
58692         Merge from coreutils
58693         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
58694
58695         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
58696         0.12.1.  These files are now being upgraded automatically by
58697         ../config/srclist-update.
58698
58699 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58700
58701         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58702         Normalize leading white space and remove trailing white space.
58703         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
58704         notice, as per ../config/srclist-update.
58705
58706         Merge from coreutils.
58707         * lib/euidaccess.h: New file.
58708         * lib/euidaccess.c: Include it.
58709         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
58710         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
58711         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
58712
58713 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58714
58715         * config/srclist-update: Add copyright notice.
58716         (remove_id_lines, remove_trailing_blanks): New constants.
58717         (fixfile): Use them to normalize spacing a bit in copied files.
58718         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58719         Normalize leading white space and remove trailing white space.
58720
58721         * config/texinfo.tex: Sync with texinfo.
58722
58723         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
58724         strtoul.c from libc, to merge coreutils whitespace changes.
58725
58726         * config/srclist.txt: Get the following m4 files from gettext:
58727         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
58728         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
58729         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
58730         wint_t.m4.
58731
58732 2003-08-12  Karl Berry  <karl@gnu.org>
58733
58734         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
58735         been made.
58736
58737 2003-08-11  Paul Eggert  <eggert@twinsun.com>
58738
58739         * modules/gnu-source, m4/gnu-source.m4:
58740         Remove; we're assuming Autoconf 2.54 or later now.
58741         Suggested by Bruno Haible.
58742         * MODULES.html.sh (func_all_modules): Remove gnu-source.
58743
58744 2003-08-11  Bruno Haible  <bruno@clisp.org>
58745
58746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
58747
58748 2003-08-11  Bruno Haible  <bruno@clisp.org>
58749
58750         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
58751         (vasnprintf): Use it instead of wcslen.
58752
58753 2003-08-11  Bruno Haible  <bruno@clisp.org>
58754
58755         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
58756         value to ensure that _Bool promotes to int. Use #define for _Bool when
58757         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
58758
58759 2003-08-10  Karl Berry  <karl@gnu.org>
58760
58761         * lib/regex.h: update from libc (whitespace fix).
58762
58763 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58764
58765         Merge some files from coreutils.  These changes were
58766         originally made by Jim Meyering.
58767         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
58768         many older Unixes require this.
58769         * lib/alloca.c (alloca): Remove cast to argument of free;
58770         no longer needed in C89.
58771         * lib/alloca_.h, regex.h: Fix white space to match
58772         what GNU indent does.
58773
58774 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58775
58776         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
58777         apparently Emacs's Unicode mode got confused before my 2003-08-05
58778         checkin.
58779
58780 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58781
58782         * m4/extensions.m4: New file.
58783         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
58784         Require gl_USE_SYSTEM_EXTENSIONS.
58785         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
58786         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
58787
58788 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58789
58790         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
58791         * modules/extensions, modules/gnu-source: New files.
58792         * modules/timespec, modules/unlocked-io: Depend on extensions.
58793
58794 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58795
58796         * modules/restrict: New file.
58797         * MODULES.html.sh (func_all_modules): Add restrict.
58798         * modules/regex: Depend on restrict.
58799
58800 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58801
58802         * m4/restrict.m4: New file.
58803         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
58804
58805 2003-08-07  Bruno Haible  <bruno@clisp.org>
58806
58807         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
58808         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
58809
58810 2003-08-07  Bruno Haible  <bruno@clisp.org>
58811
58812         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
58813         makes the module 'getndelim2' compatible with the module 'getline'.
58814
58815 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58816
58817         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
58818         byte with "\201" to avoid glitches when editing that source file
58819         with multi-gnome-terminal.
58820
58821 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58822
58823         * lib/bumpalloc.h: Remove.
58824
58825 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58826
58827         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
58828         * modules/bumpalloc: Remove.
58829
58830 2003-08-04  Paul Eggert  <eggert@twinsun.com>
58831
58832         * lib/getloadavg.c: Change copyright notice and spacing to conform to
58833         GNU coding style.
58834
58835         Merge from coreutils.
58836         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
58837         1. From glibc.
58838         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
58839         from Karl Berry, implemented by Jim Meyering.
58840         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
58841         from Dmitry V. Levin.
58842         Remove anachronistic cast of xrealloc.
58843         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
58844         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
58845         type. Otherwise, it wouldn't compile with at least /bin/cc on
58846         ymp-cray-unicos9.0.2.X.
58847         Combine two mostly-identical uses of alloca into one.
58848         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
58849
58850 2003-08-04  Dave Love  <d.love@dl.ac.uk>
58851
58852         [From Emacs.]
58853
58854         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
58855         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
58856         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
58857         obsolete NLIST_NAME_UNION.
58858         [__GNU__]: Undef BSD and FSCALE.
58859         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
58860
58861 2003-08-03  Paul Eggert  <eggert@twinsun.com>
58862
58863         * lib/stdbool_.h (_Bool): Make it signed char, instead of
58864         an enum type, so that it's guaranteed to promote to int.  See:
58865         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
58866
58867 2003-08-03  Karl Berry  <karl@gnu.org>
58868
58869         * config/depcomp: update from automake.
58870
58871 2003-07-31  Paul Eggert  <eggert@twinsun.com>
58872
58873         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
58874         (strerror): Don't assume that a printable int fits in 14 bytes.
58875
58876 2003-07-31  Bruno Haible  <bruno@clisp.org>
58877
58878         * modules/getpass-gnu: New file.
58879         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
58880
58881 2003-07-31  Bruno Haible  <bruno@clisp.org>
58882
58883         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
58884
58885 2003-07-24  Karl Berry  <karl@gnu.org>
58886
58887         * config/missing: update from automake.
58888
58889 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
58890             Bruno Haible  <bruno@clisp.org>
58891
58892         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
58893         * lib/getline.c (getline, getdelim): Likewise.
58894         Remove _GNU_SOURCE define; now it's defined in config.h through
58895         m4/getline.m4.
58896
58897 2003-07-23  Karl Berry  <karl@gnu.org>
58898
58899         * config/config.sub: update from prep.
58900
58901 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58902
58903         * modules/xalloc (Depends-on): Add exitfail.
58904         * modules/xmemcoll: Likewise.
58905
58906 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58907
58908         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
58909         over-parenthesization in macros.
58910
58911         Sync with coreutils.
58912
58913         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
58914         required by C99.
58915
58916         Use `exit_failure' for xalloc and xmemcoll instead of their own
58917         private exit-failure variables.
58918         * lib/xalloc.h (xalloc_exit_failure): Remove.
58919         * lib/xmalloc.c: Likewise.  Include exitfail.h.
58920         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
58921         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
58922         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
58923         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
58924
58925 2003-07-20  Jim Meyering  <jim@meyering.net>
58926
58927         * modules/closeout (Depends-on): Add exitfail.
58928         Suggestion from Bruno Haible.
58929
58930 2003-07-19  Karl Berry  <karl@gnu.org>
58931
58932         * config/config.sub: update from prep.
58933
58934 2003-07-18  Paul Eggert  <eggert@twinsun.com>
58935
58936         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
58937         Remove.
58938         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
58939         to test that it can stand by itself.  Include "exitfail.h".
58940         Clients should set exit_failure instead.
58941         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
58942
58943 2003-07-18  Bruno Haible  <bruno@clisp.org>
58944
58945         * modules/getndelim2: New file.
58946         * modules/getline: Share files with module getndelim2.
58947         * modules/getnline: Depend on getndelim2 instead of sharing files with
58948         it. Add getnline.c to lib_SOURCES.
58949         * MODULES.html.sh (func_all_modules): Add getndelim2.
58950
58951 2003-07-18  Bruno Haible  <bruno@clisp.org>
58952
58953         * m4/getndelim2.m4: New file.
58954         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
58955         invoke gl_PREREQ_GETNDELIM2.
58956         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
58957         gl_PREREQ_GETNDELIM2.
58958         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
58959         gl_GETNDELIM2.
58960
58961 2003-07-18  Bruno Haible  <bruno@clisp.org>
58962
58963         * lib/getndelim2.h: New file.
58964         * lib/getndelim2.c: Make into a module of its own. Include config.h,
58965         getndelim2.h.
58966         (getndelim2): Make non-static. Change return type to ssize_t.
58967         * lib/getline.h: Change argument names.
58968         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
58969         * lib/getnline.c: Include getndelim2.h.
58970
58971 2003-07-18  Andreas Schwab  <schwab@suse.de>
58972
58973         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
58974
58975 2003-07-17  Karl Berry  <karl@gnu.org>
58976
58977         * config/config.sub: update from prep.
58978
58979 2003-07-17  Bruno Haible  <bruno@clisp.org>
58980
58981         * modules/getnline: New file.
58982         * modules/getline: Add lib/getndelim2.c to source file list.
58983         * MODULES.html.sh (func_all_modules): Add getnline.
58984
58985 2003-07-17  Bruno Haible  <bruno@clisp.org>
58986
58987         * m4/getnline.m4: New file.
58988
58989 2003-07-17  Bruno Haible  <bruno@clisp.org>
58990
58991         * m4/Makefile.am.in: Remove file.
58992         * m4/Makefile.am: Remove file.
58993         * m4/Makefile.in: Remove file.
58994
58995 2003-07-17  Bruno Haible  <bruno@clisp.org>
58996
58997         * lib/getnline.h: New file.
58998         * lib/getnline.c: New file.
58999         * lib/getndelim2.c: New file, extracted from getline.c.
59000         (getndelim2): Renamed from getdelim2, with added nmax argument.
59001         * lib/getline.c: Include getndelim2.c.
59002         (getdelim2): Moved out to getndelim2.c.
59003         (getline, getdelim): Update.
59004
59005 2003-07-17  Bruno Haible  <bruno@clisp.org>
59006
59007         * lib/Makefile.am: Remove file.
59008         * lib/Makefile.in: Remove file.
59009
59010 2003-07-17  Bruno Haible  <bruno@clisp.org>
59011
59012         * configure.in: Remove file.
59013         * Makefile.in: Remove file.
59014
59015 2003-07-17  Bruno Haible  <bruno@clisp.org>
59016
59017         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59018
59019 2003-07-16  Karl Berry  <karl@gnu.org>
59020
59021         * config/srclist-update: was running fixlicense twice, which caused
59022                 texinfo.tex to be nullified for some reason.  Simplify,
59023                 $gplsrc is no longer needed as far as I can see?
59024
59025 2003-07-16  Jim Meyering  <jim@meyering.net>
59026
59027         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59028
59029 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59030
59031         * config/srclist.txt: Get the following files from gettext-runtime/intl
59032         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59033         ref-del.sin.  From Bruno Haible.
59034         * config/srclist-update (fixfile): Change grep pattern again, since the
59035         previous fix didn't work (there was another trailing $).  Use
59036         '[$]' to escape the $s.
59037
59038 2003-07-15  Karl Berry  <karl@gnu.org>
59039
59040         * lib/vasnprintf.c: update from gettext.
59041
59042 2003-07-15  Karl Berry  <karl@gnu.org>
59043
59044         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59045         gets expanded when surrounded by '$'.
59046
59047 2003-07-15  Jim Meyering  <jim@meyering.net>
59048
59049         * modules/save-cwd: Don't depend on error.  From Derek Price.
59050
59051 2003-07-15  Jim Meyering  <jim@meyering.net>
59052
59053         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59054
59055 2003-07-14  Simon Josefsson  <jas@extundo.com>
59056
59057         * modules/mempcpy: New file.
59058         * MODULES.html.sh (func_all_modules): Add mempcpy.
59059
59060 2003-07-14  Simon Josefsson  <jas@extundo.com>
59061
59062         * m4/mempcpy.m4: New file.
59063
59064 2003-07-14  Simon Josefsson  <jas@extundo.com>
59065
59066         * lib/mempcpy.h: New file.
59067         * lib/mempcpy.c: New file.
59068
59069 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59070
59071         * modules/getdate, modules/posixtm: Depend on mktime.
59072
59073 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59074
59075         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59076         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59077         unicodeio.c, unicodeio.h, unlocked-io.h:
59078         Switch from LGPL to GPL.
59079
59080 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59081
59082         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59083         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59084         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59085         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59086         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59087         updated automatically by ../config/srclist-update.  This changes
59088         their license from LPGL to GPL.
59089
59090 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59091
59092         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59093         assumed to refer to the root of the most recent stable gettext version.
59094         * config/srclistvars.sh: Add defaults for eggert.
59095         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59096         Match "This program" as well as "The program".  This is needed
59097         for gettext.
59098
59099 2003-07-14  Jim Meyering  <jim@meyering.net>
59100
59101         Don't emit diagnostics.  Let callers do that.
59102         * lib/save-cwd.c: Don't include "error.h".
59103         (save_cwd): Don't call error.  Ensure that errno is valid
59104         when returning nonzero.
59105
59106         * lib/save-cwd.h (restore_cwd): Update prototype.
59107         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59108         Simplify.  Don't call error upon failure.  Let callers do that.
59109         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59110         when auditing is enabled.  But don't bother updating the #if.
59111
59112 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59113
59114         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59115         it breaks C++ compilation.
59116         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59117
59118 2003-07-10  Simon Josefsson  <jas@extundo.com>
59119
59120         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59121
59122 2003-07-10  Jim Meyering  <jim@meyering.net>
59123
59124         * m4/clock_time.m4: Remove trailing blank.
59125         * m4/intmax_t.m4: Likewise.
59126
59127 2003-07-10  Jim Meyering  <jim@meyering.net>
59128
59129         * lib/vasnprintf.c: Remove trailing blanks.
59130         Make cpp indentation consistent.
59131
59132 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59133
59134         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59135         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59136         Switch from LGPL to GPL.
59137
59138 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59139
59140         * config/srclist.txt: Sort sublists.  Add
59141         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59142         that differ from gnulib for one reason or another; we'd like this list
59143         to be smaller but for now let's document what we have.
59144
59145 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59146
59147         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59148         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59149         and sweeter "eval x=$x".
59150         * config/srclist.txt: Get lib/argp* from glibc.
59151
59152 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59153
59154         * lib/mktime.c: Fix some boundary cases and remove need for floating
59155         point.
59156
59157         Issue a compile-time diagnostic if time_t is floating point, or if
59158         two's complement arithmetic is not in effect, or if arithmetic
59159         right shift does not propagate the sign.  These assumptions were
59160         all in the original code but they weren't checked.
59161
59162         (TIME_T_MIDPOINT, verify): New macros.
59163         (__isleap): Remove; it has integer overflow problems.
59164         (leapyear): New function, without those problems.
59165         (ydhms_tm_diff): Remove; splitting into two parts.
59166         (ydhms_diff): New function, containing the arithmetic part of
59167         the old ydhms_tm_diff function.  Issue a compile-time
59168         diagnostic if we are not using C99 integer division.
59169         Avoid casts when possible.
59170         (guess_time_tm): New function, containing the checking part of
59171         the old ydhms_tm_diff function.  Return the new value, rather than
59172         the difference between it and the old.  Accept a new argument T
59173         so that *T specifies the old value.  Check for overflow in the result.
59174
59175         (__mktime_internal): Use a time_t offset, not a long int offset.
59176         This undoes the 2003-06-04 change, which is no longer needed now
59177         that we have better overflow checking.
59178         (localtime_offset): Likewise.
59179
59180         (__mktime_internal): Avoid harmful overflow on hosts where time_t
59181         and long are 64-bit but int is only 32-bit.
59182         (ydhms_diff): Use long int to store year1 and yday1.
59183         Issue a compile-time diagnostic if long int is not wide enough.
59184
59185         (__mktime_internal): Use long int to store adjusted year and yday.
59186         Use plain C rather than preprocessor commands, if that doesn't
59187         affect efficiency.
59188         Check for overflow (and try to repair) after each probe
59189         rather than checking only at the very end.  This avoids some bugs
59190         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59191         does not equal GMT offset at maximum time).
59192         Use integer to check for overflow rather than floating point; this
59193         is more portable to non-IEEE hosts, and is a tad faster.
59194         When we detect that we are oscillating between two values,
59195         don't check whether tm_isdst has the requested value, since
59196         we already know the answer.  When tm_isdst has the wrong value,
59197         use a different heuristic to find the right one, based on the
59198         extreme values actually observed in practice in tz2003a,
59199         rather than the (overly optimistic) "previous 3 calendar quarters".
59200
59201         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59202         "T const" to accommodate glibc style.
59203         (check_result): Use less-confusing report format.  "long" -> "long int.
59204         (main): Likewise.
59205         Don't loop if the iteration overflows time_t.
59206         Allow a negative step in the iteration.
59207
59208 2003-07-06  Karl Berry  <karl@gnu.org>
59209
59210         * config/depcomp: update from automake.
59211         * config/config.sub: update from prep.
59212
59213 2003-07-03  Karl Berry  <karl@gnu.org>
59214
59215         * config/config.guess: update from prep.
59216
59217 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59218
59219         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59220         xreadlink.c now includes it unconditionally.
59221
59222 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59223
59224         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59225         having it depend on HAVE_SYS_TYPES_H.
59226
59227 2003-07-01  Bruno Haible  <bruno@clisp.org>
59228
59229         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59230         <sys/types.h> should be sufficient.
59231         Reported by Paul Eggert.
59232
59233 2003-06-26  Karl Berry  <karl@gnu.org>
59234
59235         * config/depcomp: update from automake.
59236
59237 2003-06-26  Bruno Haible  <bruno@clisp.org>
59238
59239         * modules/human: Depend on module stdbool.
59240
59241 2003-06-25  Bruno Haible  <bruno@clisp.org>
59242
59243         * modules/readlink: New file.
59244         * modules/xreadlink: Depend on it.
59245         * MODULES.html.sh (func_all_modules): Add readlink.
59246
59247 2003-06-25  Bruno Haible  <bruno@clisp.org>
59248
59249         * m4/readlink.m4: New file.
59250
59251 2003-06-25  Bruno Haible  <bruno@clisp.org>
59252
59253         * lib/readlink.c: New file.
59254
59255 2003-06-22  Karl Berry  <karl@gnu.org>
59256
59257         * config/srclist.txt: update mkinstalldirs from automake.
59258         * config/mkinstalldirs: update.
59259
59260 2003-06-22  Bruno Haible  <bruno@clisp.org>
59261
59262         Portability to mingw32.
59263         * m4/ssize_t.m4: New file, from GNU gettext.
59264         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59265         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59266
59267 2003-06-22  Bruno Haible  <bruno@clisp.org>
59268
59269         * modules/safe-read: Add m4/ssize_t.m4.
59270         * modules/xreadlink: Add m4/ssize_t.m4.
59271
59272 2003-06-20  Bruno Haible  <bruno@clisp.org>
59273
59274         Assume C89, so PARAMS isn't needed.
59275         * lib/unicodeio.h (PARAMS): Remove.
59276         * lib/unicodeio.c: Don't use PARAMS.
59277
59278 2003-06-18  Karl Berry  <karl@gnu.org>
59279
59280         * config/config.{guess,sub}: update from prep.
59281
59282 2003-06-18  Jim Meyering  <jim@meyering.net>
59283
59284         Merge changes from coreutils.
59285         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59286         Remove explicit declarations of xmalloc and realloc.
59287         Include xalloc.h.
59288         (read_utmp): Remove anachronistic cast of xmalloc.
59289
59290 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59291
59292         Assume C89, so PARAMS isn't needed.
59293         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59294         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59295         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59296         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59297         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59298         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59299         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59300         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59301         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59302         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59303         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59304         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59305         no longer needed. Anyway, config.h should always be included before any
59306         other file.
59307
59308 2003-06-11  Simon Josefsson  <jas@extundo.com>
59309
59310         * modules/sysexits: New file.
59311         * MODULES.html.sh (func_all_modules): Add sysexits.
59312
59313 2003-06-11  Simon Josefsson  <jas@extundo.com>
59314
59315         * lib/sysexit_.h: New file.
59316
59317 2003-06-11  Derek Price  <derek@ximbiot.com>
59318
59319         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59320         necessary.
59321
59322 2003-06-11  Bruno Haible  <bruno@clisp.org>
59323
59324         * m4/sysexits.m4: New file.
59325
59326 2003-06-10  Simon Josefsson  <jas@extundo.com>
59327
59328         * lib/argp.h: New file, from glibc.
59329         * lib/argp-ba.c: New file, from glibc.
59330         * lib/argp-eexst.c: New file, from glibc.
59331         * lib/argp-fmtstream.c: New file, from glibc.
59332         * lib/argp-fmtstream.h: New file, from glibc.
59333         * lib/argp-fs-xinl.c: New file, from glibc.
59334         * lib/argp-help.c: New file, from glibc.
59335         * lib/argp-namefrob.h: New file, from glibc.
59336         * lib/argp-parse.c: New file, from glibc.
59337         * lib/argp-pv.c: New file, from glibc.
59338         * lib/argp-pvh.c: New file, from glibc.
59339         * lib/argp-xinl.c: New file, from glibc.
59340
59341 2003-06-10  Simon Josefsson  <jas@extundo.com>
59342
59343         * modules/strchrnul: New file.
59344
59345 2003-06-10  Simon Josefsson  <jas@extundo.com>
59346
59347         * modules/argp: New file.
59348
59349 2003-06-10  Simon Josefsson  <jas@extundo.com>
59350
59351         * m4/strchrnul.m4: New file.
59352
59353 2003-06-10  Simon Josefsson  <jas@extundo.com>
59354
59355         * lib/strchrnul.h: New file.
59356         * lib/strchrnul.c: New file.
59357
59358 2003-06-10  Bruno Haible  <bruno@clisp.org>
59359
59360         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59361
59362 2003-06-07  Karl Berry  <karl@gnu.org>
59363
59364         * config/config.{guess,sub}: update from prep.
59365
59366 2003-06-07  Jim Meyering  <jim@meyering.net>
59367
59368         * modules/strtod: Use $(...) notation, not @...@ for
59369         AC_REPLACE'd variables.
59370         * modules/localcharset: Likewise.
59371
59372 2003-06-07  Jim Meyering  <jim@meyering.net>
59373
59374         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59375         in place of my name in the copyright comment.
59376         Remove definition and uses of __P.
59377
59378         From coreutils.
59379         * lib/stat.c: Don't declare xmalloc explicitly.
59380         Instead, include "xalloc.h".
59381         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59382         xrealloc, and xcalloc return values.
59383         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59384         Improve comment.
59385         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59386
59387 2003-06-07  Bruno Haible  <bruno@clisp.org>
59388
59389         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59390         avoid AC_CONFIG_LINKS.
59391         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59392         fnmatch.h, to avoid AC_CONFIG_LINKS.
59393         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59394
59395 2003-06-07  Bruno Haible  <bruno@clisp.org>
59396
59397         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59398         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59399         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59400         directory.
59401         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59402         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59403         directory.
59404
59405 2003-06-06  Jim Meyering  <jim@meyering.net>
59406
59407         Merge from coreutils.
59408         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59409         Consolidate declarations and initializations of *_base* locals.
59410
59411         Merge from coreutils.
59412         This avoids a core dump on systems without GNU putenv,
59413         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59414         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59415         (unsetenv): New static function, from GNU libc.
59416         (rpl_putenv): Use it.
59417
59418         * lib/modechange.c: Remove trailing blanks.
59419
59420         Merge from coreutils.
59421         * lib/fsusage.c: Remove declaration of statfs.
59422         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59423
59424         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59425
59426 2003-06-06  Jim Meyering  <jim@meyering.net>
59427
59428         * lib/stdbool_.h: Renamed from stdbool.h.in.
59429
59430 2003-06-06  Jim Meyering  <jim@meyering.net>
59431             Bruno Haible  <bruno@clisp.org>
59432
59433         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59434         Adjust Makefile.am snippet not to redirect directly to target.
59435         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59436
59437 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59438
59439         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59440         mismatch, look in future quarters as well as past.  This fixes a
59441         bug when processing fall-backwards gaps immediately after a long
59442         period of daylight-saving time.
59443
59444         * lib/mktime.c: Assume freestanding C89 or better.
59445         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59446         (__P): Remove; not used.
59447         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59448         (mktime, not_equal_tm, print_tm, check_result,
59449         main): Use prototypes.  Use const * where appropriate.
59450         (main): Fix typo in testing code that uncovered by above changes.
59451         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59452
59453 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59454
59455         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59456         locale.h, localeconv.  This merges changes from coreutils.
59457
59458         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59459         It can be removed after the next Autoconf is released.
59460         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59461         needed.
59462
59463 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59464
59465         * lib/mktime.c: Fix Debian bug 177940
59466         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59467         (localtime_offset): Now long int, not time_t, because we want it
59468         to be guaranteed to be signed.  All uses changed.
59469         (__mktime_internal): If overflow would occur when adding offset,
59470         don't add it.
59471
59472         Merge 'human' changes from coreutils.  Rewrite to support
59473         locale-specific notations like thousands separators.
59474         * lib/human.c: Simplify authorship notice.
59475         Include human.h immediately after config.h.
59476         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59477         <limits.h>: Do not include, since human.h does.
59478         (SIZE_MAX, UINTMAX_MAX): New macros.
59479         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59480         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59481         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59482         (power_letter): Renamed from suffixes.
59483         (generate_suffix_backwards): Remove.
59484         (adjust_value): Now takes int style (because of human.h changes)
59485         and long double value (for greater precision on some platforms).
59486         (group_number): New function.
59487         (human_readable): Use it.  Use integer options, not enum.
59488         Put the options before the sizes in the arg list.
59489         Support all the new options.
59490         The old human_readable function has been removed;
59491         use inttostr.h instead.
59492         (human_readable, default_block_size, humblock):
59493         Use uintmax_t, not int, for block sizes.
59494         (human_readable_inexact, block_size_types): Remove.
59495         (block_size_opts): New constant.
59496         (human_options): Renamed from human_block_size, with new signature
59497         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59498         * lib/human.h: Add copyright and authorship notice.
59499         Include <limits.h> and <stdbool.h> unconditionally.
59500         (PARAMS): Remove.  All uses removed.
59501         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59502         (enum human_inexact_style): Remove tag; now a nameless enum.
59503         (human_floor, human_ceiling, human_round_to_even): Now have
59504         values 2, 0, 1 rather than -1, 1, 0.
59505         (human_group_digits, human_suppress_point_zero, human_autoscale,
59506         human_base_1024, human_SI, human_B): New constants.
59507         (human_readable_inexact, human_block_size): Remove.
59508         (human_readable): Size args are now uintmax_t, not int.
59509         (human_options): New decl.
59510
59511         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59512         unnecessary now that we assume C89 or better.  This change
59513         imported from coreutils.
59514
59515         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59516         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59517         in the 2003-05-30 sync from glibc.
59518
59519         .h files should stand alone, but we shouldn't include <sys/types.h>
59520         if we can get away with just <stddef.h>.
59521
59522         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59523         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59524         rather than <sys/types.h>, as we merely need size_t.
59525         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59526         to get size_t.
59527         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59528         Include <stdio.h>, to get FILE.
59529         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59530         memcasecmp.h has included <stddef.h> and all we need is size_t.
59531         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59532         our interface, instead of including <sys/types.h>
59533
59534 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59535
59536         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59537         now, as glibc mktime is buggy on non-glibc systems.
59538
59539 2003-06-03  Karl Berry  <karl@gnu.org>
59540
59541         * config/config.sub: update from prep.
59542
59543 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59544
59545         [from coreutils]
59546         Fix some minor time-related bugs with POSIX time arguments.
59547         Some valid time stamps were being rejected (notably -1, and
59548         time stamps before 1900 on 64-bit hosts).  And some invalid
59549         time stamps were being accepted, e.g. September 31.
59550
59551         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59552         that we can return (time_t) -1 successfully.
59553         * lib/posixtm.c: Likewise.
59554         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59555         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59556         (t): Remove static var.
59557         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59558         of static var.  All uses changed.
59559         (year): Do not reject years before 1900; they can occur with
59560         64-bit time_t.
59561         (posix_time_parse): Do not check for out-of-range components;
59562         that is now the caller's responsibility, since our checks were
59563         only approximations.
59564         (posixtime): Use mktime to check for out-of-range components,
59565         since it knows them exactly.
59566         If mktime returns (time_t) -1, check whether an error actually occurred
59567         by invoking localtime on -1.
59568         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59569         posixtime failures better.
59570         Improve the test data (in comments only).
59571
59572 2003-06-02  Karl Berry  <karl@gnu.org>
59573
59574         * config/mkinstalldirs (version): new variable.
59575         (--version): new option.
59576         (usage): improve message.
59577
59578 2003-05-30  Karl Berry  <karl@gnu.org>
59579
59580         * lib/mktime.c: update from libc.
59581
59582 2003-05-30  Bruno Haible  <bruno@clisp.org>
59583
59584         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59585         * config/config.rpath: Upgrade to gettext-0.12.1.
59586
59587 2003-05-30  Bruno Haible  <bruno@clisp.org>
59588
59589         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59590         * m4/nls.m4: New file, from gettext-0.12.1.
59591         * m4/po.m4: New file, from gettext-0.12.1.
59592         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59593
59594 2003-05-30  Bruno Haible  <bruno@clisp.org>
59595
59596         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59597         * lib/localcharset.h: Likewise.
59598         * lib/localcharset.c: Likewise.
59599
59600 2003-05-29  Karl Berry  <karl@gnu.org>
59601
59602         * config/config.rpath: update from gettext.
59603
59604 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59605
59606         Assume the headers required for C89 freestanding compilers.
59607         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59608         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59609         * m4/human.m4 (gl_HUMAN): Likewise.
59610         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59611         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59612         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59613         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59614         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59615         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59616
59617 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59618
59619         Assume the headers required for C89 freestanding compilers.
59620         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59621         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59622         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59623         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59624         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59625         define, since <limits.h> is guaranteed to do that.
59626         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59627         * lib/exclude.c: Include <stdbool.h> unconditionally.
59628         * lib/tempname.c: Include <stddef.h> unconditionally.
59629         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59630         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59631         <stddef.h> does that.
59632         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59633         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59634         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59635         needed.
59636         * lib/xstrtol.c: Likewise.
59637         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59638         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
59639
59640         * lib/addext.c (addext): Use assignment rather than cast, to avoid
59641         warnings on some platforms.
59642
59643         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59644         arbitrarily.
59645
59646 2003-05-26  Jim Meyering  <jim@meyering.net>
59647
59648         Merge in a change from coreutils:
59649         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
59650         that is guaranteed to be `no'.  Use `no_such_member' to indicate
59651         that condition, rather than `-1' which is slightly misleading.
59652         Change the name of the cache variable to have the gl_ prefix.
59653         Prompted by a patch from Richard Dawe for DJGPP.
59654
59655 2003-05-24  Karl Berry  <karl@gnu.org>
59656
59657         * config/config.guess: update from prep.
59658
59659 2003-05-22  Karl Berry  <karl@gnu.org>
59660
59661         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
59662
59663 2003-05-20  Karl Berry  <karl@gnu.org>
59664
59665         * config/config.guess: update from prep.
59666
59667 2003-05-18  Karl Berry  <karl@gnu.org>
59668
59669         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
59670         might actually be set by the user.
59671
59672         * config/depcomp, install-sh, mdate-sh: update from automake.
59673
59674 2003-05-17  Bruno Haible  <bruno@clisp.org>
59675
59676         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
59677         invalid expansion for AC_EGREP_CPP.
59678         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
59679         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
59680         Suggested by Akim Demaille <akim@epita.fr> in
59681         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
59682
59683 2003-05-12  Jim Meyering  <jim@meyering.net>
59684
59685         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
59686         the space-padded-by-default conversion specifiers, %e, %k, %l.
59687
59688 2003-05-12  Bruno Haible  <bruno@clisp.org>
59689
59690         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
59691         the string is longer than 4 KB.
59692
59693 2003-05-11  Karl Berry  <karl@gnu.org>
59694
59695         * config/config.{guess,sub}: update from prep.
59696
59697 2003-05-09  Bruno Haible  <bruno@clisp.org>
59698
59699         * modules/error: Add m4/strerror_r.m4 to file list.
59700
59701 2003-05-03  Bruno Haible  <bruno@clisp.org>
59702
59703         Upgrade to Unicode-4.0.
59704         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
59705         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
59706         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
59707         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
59708         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
59709         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
59710         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
59711         Change width of U+E0100..U+E01EF from 1 to 0.
59712
59713 2003-04-25  Jim Meyering  <jim@meyering.net>
59714
59715         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
59716         of type size_t, not int.
59717
59718 2003-04-25  Bruno Haible  <bruno@clisp.org>
59719
59720         * lib/copy-file.c: Include <stddef.h>, for size_t.
59721
59722 2003-04-21  Paul Eggert  <eggert@twinsun.com>
59723
59724         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
59725         code which expansion is under static control.  Patch imported from
59726         Akim Demaille's patch to Bison; see
59727         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
59728
59729 2003-04-14  Bruno Haible  <bruno@clisp.org>
59730
59731         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
59732
59733 2003-04-11  Jim Meyering  <jim@meyering.net>
59734
59735         Merge changes from Coreutils.
59736
59737         2003-03-22  Jim Meyering  <jim@meyering.net>
59738
59739         * lib/strftime.c (widen): Cast alloca return value to proper type.
59740
59741         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
59742
59743         From GNU libc.
59744         * lib/strftime.c (my_strftime): Handle very large width
59745         specifications for numeric values correctly.  Improve checks for
59746         overflow.
59747
59748         2003-01-19  Jim Meyering  <jim@meyering.net>
59749
59750         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
59751         definitions.
59752         (nl_get_alt_digit) [! defined my_strftime]: Define.
59753         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
59754         _nl_get_alt_digit and _nl_get_walt_digit.
59755
59756         * lib/strftime.c (my_strftime): Merge in locale-related changes from
59757         libc. These changes have no effect outside of _LIBC.
59758
59759 2003-04-10  Bruno Haible  <bruno@clisp.org>
59760
59761         * modules/findprog: New file.
59762         * MODULES.html.sh (func_all_modules): Add it.
59763
59764 2003-04-10  Bruno Haible  <bruno@clisp.org>
59765
59766         * m4/findprog.m4: New file.
59767         * m4/eaccess.m4: New file.
59768
59769 2003-04-10  Bruno Haible  <bruno@clisp.org>
59770
59771         * lib/findprog.h: New file, from GNU gettext.
59772         * lib/findprog.c: New file, from GNU gettext.
59773
59774 2003-04-05  Jim Meyering  <jim@meyering.net>
59775
59776         Merge changes from Coreutils.
59777
59778         * lib/exclude.h (PARAMS): Remove definition and uses.
59779         * lib/exclude.c: Remove uses of `PARAMS'.
59780
59781         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
59782         Add test-cases for DOS filenames. Declare program_name.
59783         (main): Set up program_name.  Patch by Rich Dawe.
59784
59785         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
59786         error from mntctl.
59787         Use mntctl's return value to drive the entry-processing loop, since
59788         we can't rely on the value of the vmt_length member in the last
59789         entry.  On some systems doing so could result in exhausting
59790         virtual memory.  Based in part on a patch from Mike Jetzer.
59791
59792 2003-04-04  Bruno Haible  <bruno@clisp.org>
59793
59794         * modules/linebreak: New file.
59795         * MODULES.html.sh (func_all_modules): Add it.
59796
59797 2003-04-04  Bruno Haible  <bruno@clisp.org>
59798
59799         * m4/linebreak.m4: New file.
59800
59801 2003-04-04  Bruno Haible  <bruno@clisp.org>
59802
59803         * lib/linebreak.h: New file, from GNU gettext.
59804         * lib/linebreak.c: New file, from GNU gettext with slight
59805         modifications.
59806         * lib/lbrkprop.h: New file, from GNU gettext.
59807
59808 2003-04-03  Bruno Haible  <bruno@clisp.org>
59809
59810         * modules/utf8-ucs4: New file.
59811         * modules/utf16-ucs4: New file.
59812         * modules/ucs4-utf8: New file.
59813         * modules/ucs4-utf16: New file.
59814         * MODULES.html.sh (func_all_modules): Add them.
59815
59816 2003-04-03  Bruno Haible  <bruno@clisp.org>
59817
59818         * m4/utf-ucs4.m4: New file.
59819         * m4/ucs4-utf.m4: New file.
59820
59821 2003-04-03  Bruno Haible  <bruno@clisp.org>
59822
59823         * lib/utf8-ucs4.h: New file, from GNU gettext.
59824         * lib/utf16-ucs4.h: New file, from GNU gettext.
59825         * lib/ucs4-utf8.h: New file, from GNU gettext.
59826         * lib/ucs4-utf16.h: New file, from GNU gettext.
59827
59828 2003-04-02  Bruno Haible  <bruno@clisp.org>
59829
59830         * modules/binary-io: New file.
59831         * MODULES.html.sh (func_all_modules): Add it.
59832
59833 2003-04-02  Bruno Haible  <bruno@clisp.org>
59834
59835         * lib/binary-io.h: New file, from GNU gettext.
59836
59837 2003-04-01  Bruno Haible  <bruno@clisp.org>
59838
59839         * modules/pathname: New file.
59840         * MODULES.html.sh (func_all_modules): Add it.
59841
59842 2003-04-01  Bruno Haible  <bruno@clisp.org>
59843
59844         * lib/pathname.h: New file, from GNU gettext.
59845         * lib/concatpath.c: New file, from GNU gettext.
59846
59847 2003-03-30  Bruno Haible  <bruno@clisp.org>
59848
59849         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
59850
59851 2003-03-30  Bruno Haible  <bruno@clisp.org>
59852
59853         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
59854         function chown() doesn't exist.
59855
59856 2003-03-28  Bruno Haible  <bruno@clisp.org>
59857
59858         * modules/copy-file: New file.
59859         * MODULES.html.sh (func_all_modules): Add it.
59860
59861 2003-03-28  Bruno Haible  <bruno@clisp.org>
59862
59863         * m4/copy-file.m4: New file.
59864
59865 2003-03-28  Bruno Haible  <bruno@clisp.org>
59866
59867         * lib/copy-file.h: New file, from GNU gettext.
59868         * lib/copy-file.c: New file, from GNU gettext.
59869
59870 2003-03-18  Jim Meyering  <jim@meyering.net>
59871
59872         * lib/quote.c (quote_n): Fix typo in comment.
59873
59874 2003-03-18  Bruno Haible  <bruno@clisp.org>
59875
59876         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
59877         checking.
59878         * m4/onceonly_2_57.m4: Likewise.
59879
59880 2003-03-17  Bruno Haible  <bruno@clisp.org>
59881
59882         * m4/onceonly.m4: Require autoconf 2.54 or newer.
59883         (m4_quote): Remove macro.
59884         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
59885
59886 2003-03-14  Jim Meyering  <jim@meyering.net>
59887
59888         Merge changes from Coreutils.
59889         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
59890         to be const, in order to avoid warnings.
59891         (obstack_room): Likewise.
59892         (obstack_empty_p): Likewise.
59893
59894 2003-03-14  Bruno Haible  <bruno@clisp.org>
59895
59896         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
59897         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
59898
59899 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59900
59901         Merge changes from Bison.
59902         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
59903         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
59904         when compiling Bison 1.875's `bitset bset = obstack_alloc
59905         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
59906         * lib/hash.c: Include <stdbool.h> unconditionally.
59907
59908 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59909
59910         * m4/onceonly.m4 (m4_quote): New macro.
59911         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
59912         Quote AC_FOREACH variable-expansions properly.
59913
59914 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59915
59916         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
59917
59918 2003-03-09  Paul Eggert  <eggert@twinsun.com>
59919
59920         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
59921         Reported by Bruce Becker; see:
59922         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
59923
59924 2003-03-03  Paul Eggert  <eggert@twinsun.com>
59925             Bruno Haible  <bruno@clisp.org>
59926
59927         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
59928         Reported by John Hughes, see
59929         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
59930
59931 2003-02-20  Bruno Haible  <bruno@clisp.org>
59932
59933         * MODULES.html.sh (func_all_modules): Add poll.
59934
59935 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59936
59937         * modules/poll: New file.
59938
59939 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59940
59941         * lib/poll_.h: New file.
59942         * lib/poll.c: New file.
59943
59944 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59945
59946         * m4/poll.m4: New file.
59947
59948 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59949
59950         * modules/mathl: New file.
59951
59952 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59953
59954         * lib/mathl.h: New file.
59955         * lib/acosl.c: New file.
59956         * lib/asinl.c: New file.
59957         * lib/atanl.c: New file.
59958         * lib/ceill.c: New file.
59959         * lib/cosl.c: New file.
59960         * lib/expl.c: New file.
59961         * lib/floorl.c: New file.
59962         * lib/frexpl.c: New file.
59963         * lib/ldexpl.c: New file.
59964         * lib/logl.c: New file.
59965         * lib/sincosl.c: New file.
59966         * lib/sinl.c: New file.
59967         * lib/sqrtl.c: New file.
59968         * lib/tanl.c: New file.
59969         * lib/trigl.c: New file.
59970         * lib/trigl.h: New file.
59971
59972 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59973
59974         * m4/mathl.m4: New file.
59975
59976 2003-02-18  Bruno Haible  <bruno@clisp.org>
59977
59978         * MODULES.html.sh (func_all_modules): Add mathl.
59979
59980 2003-02-17  Bruno Haible  <bruno@clisp.org>
59981
59982         * modules/mkdtemp: New module.
59983         * MODULES.html.sh (func_all_modules): Add it.
59984
59985 2003-02-17  Bruno Haible  <bruno@clisp.org>
59986
59987         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
59988
59989 2003-02-17  Bruno Haible  <bruno@clisp.org>
59990
59991         * lib/mkdtemp.h: New file, from GNU gettext.
59992         * lib/mkdtemp.c: New file, from GNU gettext.
59993
59994 2003-02-02  Jim Meyering  <jim@meyering.net>
59995
59996         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
59997         e.g. glibc-2.2.93.
59998
59999 2003-01-31  Bruno Haible  <bruno@clisp.org>
60000
60001         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60002         'rpl_rename'.
60003         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60004         'rpl_strnlen'.
60005         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60006         'rpl_strtod'.
60007         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60008         'rpl_utime'.
60009
60010 2003-01-31  Bruno Haible  <bruno@clisp.org>
60011
60012         * lib/rename.c: #undef rename before defining rpl_rename.
60013         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60014
60015 2003-01-30  Bruno Haible  <bruno@clisp.org>
60016
60017         * modules/vasnprintf, modules/vasprintf: New modules.
60018         * MODULES.html.sh (func_all_modules): Add them.
60019
60020 2003-01-30  Bruno Haible  <bruno@clisp.org>
60021
60022         * m4/signed.m4: New file, from GNU gettext.
60023         * m4/longdouble.m4: New file, from GNU gettext.
60024         * m4/wchar_t.m4: New file, from GNU gettext.
60025         * m4/wint_t.m4: New file, from GNU gettext.
60026         * m4/vasnprintf.m4: New file.
60027         * m4/vasprintf.m4: New file.
60028
60029 2003-01-30  Bruno Haible  <bruno@clisp.org>
60030
60031         * lib/printf-args.h: New file, from GNU gettext.
60032         * lib/printf-args.c: New file, from GNU gettext.
60033         * lib/printf-parse.h: New file, from GNU gettext.
60034         * lib/printf-parse.c: New file, from GNU gettext.
60035         * lib/vasnprintf.h: New file, from GNU gettext.
60036         * lib/vasnprintf.c: New file, from GNU gettext.
60037         * lib/asnprintf.c: New file, from GNU gettext.
60038         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60039         * lib/vasprintf.c: New file, from GNU gettext.
60040         * lib/asprintf.c: New file, from GNU gettext.
60041
60042 2003-01-29  Bruno Haible  <bruno@clisp.org>
60043
60044         * modules/stpncpy: New module.
60045         * MODULES.html.sh (func_all_modules): Add it.
60046
60047 2003-01-29  Bruno Haible  <bruno@clisp.org>
60048
60049         * m4/stpncpy.m4: New file.
60050
60051 2003-01-29  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60054         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60055
60056 2003-01-28  Bruno Haible  <bruno@clisp.org>
60057
60058         * modules/c-ctype: New module.
60059         * MODULES.html.sh (func_all_modules): Add it.
60060
60061 2003-01-28  Bruno Haible  <bruno@clisp.org>
60062
60063         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60064         Paul Eggert.
60065         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60066         Paul Eggert.
60067
60068 2003-01-27  Bruno Haible  <bruno@clisp.org>
60069
60070         * modules/xsetenv: New module.
60071         * MODULES.html.sh (func_all_modules): Add it.
60072
60073 2003-01-27  Bruno Haible  <bruno@clisp.org>
60074
60075         * lib/xsetenv.h: New file, from GNU gettext.
60076         * lib/xsetenv.c: New file, from GNU gettext.
60077
60078 2003-01-23  Jim Meyering  <jim@meyering.net>
60079
60080         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60081         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60082
60083 2003-01-23  Bruno Haible  <bruno@clisp.org>
60084
60085         * modules/minmax: New module.
60086         * MODULES.html.sh (func_all_modules): Add it.
60087
60088 2003-01-23  Bruno Haible  <bruno@clisp.org>
60089
60090         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60091         Eggert.
60092
60093 2003-01-22  Bruno Haible  <bruno@clisp.org>
60094
60095         * modules/exit: New module.
60096         * MODULES.html.sh (func_all_modules): Add it.
60097
60098 2003-01-22  Bruno Haible  <bruno@clisp.org>
60099
60100         * lib/exit.h: New file, from GNU gettext.
60101
60102 2003-01-19  Bruno Haible  <bruno@clisp.org>
60103
60104         * gnulib-tool: Recognize option --extract-maintainer.
60105         (func_get_maintainer): New function.
60106         * modules/*: Add Maintainer entry.
60107
60108 2003-01-16  Jim Meyering  <jim@meyering.net>
60109
60110         * m4/regex.m4: The `regex' struct is both input and output.
60111         Initialize it before each use.  Patch by Tim Waugh.
60112
60113 2003-01-16  Bruno Haible  <bruno@clisp.org>
60114
60115         * MODULES.html.sh: Add a table of contents. Add the module name as
60116         leftmost column. Add hyperlinks.
60117
60118 2003-01-15  Bruno Haible  <bruno@clisp.org>
60119
60120         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60121
60122 2003-01-15  Bruno Haible  <bruno@clisp.org>
60123
60124         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60125         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60126         suffix.
60127
60128 2003-01-15  Bruno Haible  <bruno@clisp.org>
60129
60130         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60131
60132 2003-01-15  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60135         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60136
60137 2003-01-14  Jim Meyering  <jim@meyering.net>
60138
60139         * lib/same.c (same_name): Tweak a comment.
60140
60141 2003-01-14  Bruno Haible  <bruno@clisp.org>
60142
60143         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60144         when a string comparison is sufficient.
60145
60146 2003-01-14  Bruno Haible  <bruno@clisp.org>
60147
60148         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60149         'unsigned int'.
60150
60151 2003-01-14  Bruno Haible  <bruno@clisp.org>
60152
60153         * lib/hash-pjw.c: Add comment about low quality of this function.
60154
60155 2003-01-13  Bruno Haible  <bruno@clisp.org>
60156
60157         * modules/stpcpy: Distribute lib/stpcpy.h.
60158         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
60159
60160 2003-01-13  Bruno Haible  <bruno@clisp.org>
60161
60162         * modules/*: Add a description.
60163         * modules/strpbrk: Fix Makefile.am snippet.
60164         * modules/strtoimax: Fix dependencies.
60165         * modules/strtoumax: Likewise.
60166
60167 2003-01-13  Bruno Haible  <bruno@clisp.org>
60168
60169         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
60170         * modules/alloca (Makefile.am): All object files depend on alloca.h.
60171         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
60172
60173 2003-01-13  Bruno Haible  <bruno@clisp.org>
60174
60175         * gnulib-tool (func_create_testdir): Store config/* files in the main
60176         directory.
60177         * config.rpath: Move to ...
60178         * config/config.rpath: ... here.
60179         * modules/gettext: Contains config/config.rpath, not config.rpath.
60180         * modules/iconv: Likewise.
60181
60182 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60183
60184         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60185         to avoid collisions with libcurses and libreadline.
60186
60187         * m4/getstr.m4: Remove.
60188         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60189
60190 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60191
60192         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60193         to avoid collisions with libcurses and libreadline.
60194
60195         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60196         * lib/getstr.h, getstr.c: Remove.
60197         * lib/getline.c: Include "getline.h", to check interface.
60198         Move body of old getstr.c here: this defines MIN_CHUNK and
60199         declares getdelim2, which is renamed from getstr.
60200         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60201
60202         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60203         All uses changed.
60204         * lib/linebuffer.h: Likewise.
60205         (readline): Remove backward-compatibility macro.
60206
60207 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60208
60209         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60210         to avoid collisions with libcurses and libreadline.
60211         * getstr: Remove.
60212         * MODULES.html.sh: Remove getstr.
60213         * modules/getline: Depend on unlocked-io, not getstr.
60214
60215 2003-01-12  Jim Meyering  <jim@meyering.net>
60216
60217         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60218
60219 2003-01-10  Bruno Haible  <bruno@clisp.org>
60220
60221         * modules/alloca: Change Makefile.am requirements. Simplify Include
60222         requirements. Add lib/alloca_.h to file list.
60223
60224 2003-01-10  Bruno Haible  <bruno@clisp.org>
60225
60226         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60227
60228 2003-01-10  Bruno Haible  <bruno@clisp.org>
60229
60230         * lib/alloca_.h: New file.
60231         * lib/getdate.y: Unconditionally include alloca.h.
60232         * lib/makepath.c: Likewise.
60233         * lib/setenv.c: Likewise.
60234         * lib/userspec.c: Likewise.
60235
60236 2003-01-09  Karl Berry  <karl@gnu.org>
60237
60238         * MODULES.html.sh: include `dirname $0` in PATH, to find
60239         gnulib-tool.
60240
60241 2003-01-09  Bruno Haible  <bruno@clisp.org>
60242
60243         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60244         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60245
60246 2003-01-09  Bruno Haible  <bruno@clisp.org>
60247
60248         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60249
60250 2003-01-09  Bruno Haible  <bruno@clisp.org>
60251
60252         * lib/stdbool.h.in: New file.
60253
60254 2003-01-09  Bruno Haible  <bruno@clisp.org>
60255
60256         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60257         * MODULES.html.sh: Likewise.
60258
60259 2003-01-08  Jim Meyering  <jim@meyering.net>
60260
60261         * lib/full-write.c: Undefine and define-away `const' after inclusion
60262         of errno.h, not before.  Suggestion from Bruno Haible.
60263
60264 2003-01-08  Bruno Haible  <bruno@clisp.org>
60265
60266         * modules/full-read: Depend on full-write.
60267
60268 2003-01-08  Bruno Haible  <bruno@clisp.org>
60269
60270         * lib/safe-read.c: Include specification header first, to ensure its
60271         selfcontainedness.
60272         * lib/full-write.c: Likewise.
60273
60274 2003-01-07  Jim Meyering  <jim@meyering.net>
60275
60276         * lib/full-write.c: Rework so that it may serve to define full_read,
60277         too.
60278         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60279
60280 2003-01-07  Bruno Haible  <bruno@clisp.org>
60281
60282         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60283         <inttypes.h>.
60284         * lib/xstrtol.h: Likewise.
60285         * lib/xstrtoimax.c: Likewise.
60286         * lib/xstrtoumax.c: Likewise.
60287         * lib/human.h: Likewise.
60288
60289         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60290         on systems that have <inttypes.h> but not <stdint.h>.
60291
60292 2003-01-07  Bruno Haible  <bruno@clisp.org>
60293
60294         * MODULES.html.sh: Add copyright notice.
60295         (missed_files): Omit CVS directory entries.
60296         (func_module): Make it work with sed-3.02.
60297         * MODULES.txt: Remove file.
60298
60299 2003-01-06  Jim Meyering  <jim@meyering.net>
60300
60301         * lib/version-etc.c: Update year in translatable copyright string.
60302
60303 2003-01-03  Karl Berry  <karl@gnu.org>
60304
60305         * config/config.{guess,sub}: update from prep.
60306
60307 2003-01-02  Karl Berry  <karl@gnu.org>
60308
60309         * doc/COPYING.DOC: belatedly updated to 1.2.
60310
60311 2003-01-01  Karl Berry  <karl@gnu.org>
60312
60313         * gnulib-tool (func_verify_module): report module name $module in
60314         error message, not $1.
60315         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60316         be created, only if it doesn't exist.
60317         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60318
60319 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60320
60321         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60322
60323 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60324
60325         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60326         memcmp if strcoll doesn't work.
60327
60328 2002-12-31  Bruno Haible  <bruno@clisp.org>
60329
60330         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60331         nonempty.
60332
60333 2002-12-31  Bruno Haible  <bruno@clisp.org>
60334
60335         * lib/memcoll.c (STRCOLL): New macro.
60336         (memcoll): Use it.
60337
60338 2002-12-31  Bruno Haible  <bruno@clisp.org>
60339
60340         * lib/localcharset.h: New file.
60341         * lib/localcharset.c: Include it.
60342         * lib/unicodeio.c: Likewise.
60343
60344 2002-12-31  Bruno Haible  <bruno@clisp.org>
60345
60346         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60347         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60348
60349 2002-12-31  Bruno Haible  <bruno@clisp.org>
60350
60351         * lib/getline.h: Include <stddef.h>, for size_t.
60352
60353         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60354         * lib/unicodeio.c: Don't include <stddef.h>.
60355
60356 2002-12-31  Bruno Haible  <bruno@clisp.org>
60357
60358         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60359         HAVE_TM_ZONE.
60360
60361 2002-12-24  Karl Berry  <karl@gnu.org>
60362
60363         * config/config.guess: update from prep.
60364
60365 2002-12-24  Bruno Haible  <bruno@clisp.org>
60366
60367         General infrasructure.
60368         * m4/README: Rewritten.
60369         * m4/onceonly.m4: New file.
60370         * m4/onceonly_2_57.m4: New file.
60371
60372         Module atexit.
60373         * m4/atexit.m4: New file.
60374
60375         Module strtod.
60376         * m4/strtod.m4: New file.
60377
60378         Module strtol.
60379         * m4/strtol.m4: New file.
60380
60381         Module strtoul.
60382         * m4/strtoul.m4: New file.
60383
60384         Module memchr.
60385         * m4/memchr.m4: New file.
60386
60387         Module memcmp.
60388         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60389         (jm_FUNC_MEMCMP): Invoke it.
60390
60391         Module memcpy.
60392         * m4/memcpy.m4: New file.
60393
60394         Module memmove.
60395         * m4/memmove.m4: New file.
60396
60397         Module memset.
60398         * m4/memset.m4: New file.
60399
60400         Module strcspn.
60401         * m4/strcspn.m4: New file.
60402
60403         Module strpbrk.
60404         * m4/strpbrk.m4: New file.
60405
60406         Module strstr.
60407         * m4/strstr.m4: New file.
60408
60409         Module strerror.
60410         * m4/strerror.m4: New file.
60411
60412         Module mktime.
60413         * m4/mktime.m4: Renamed from jm-mktime.m4.
60414         (gl_PREREQ_MKTIME): New macro.
60415         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60416
60417         Module malloc.
60418         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60419         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60420         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60421
60422         Module realloc.
60423         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60424         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60425         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60426
60427         Module strftime.
60428         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60429         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60430         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60431         gl_TM_GMTOFF.
60432         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60433
60434         Module xalloc.
60435         * m4/xalloc.m4: New file.
60436
60437         Module alloca.
60438         * m4/alloca.m4: New file.
60439
60440         Module putenv.
60441         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60442         (jm_FUNC_PUTENV): Invoke it.
60443
60444         Module setenv.
60445         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60446         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60447         when invoked twice.
60448         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60449         gt_FUNC_SETENV.
60450
60451         Module memrchr.
60452         * m4/memrchr.m4: New file.
60453
60454         Module stpcpy.
60455         * m4/stpcpy.m4: New file.
60456
60457         Module strcase.
60458         * m4/strcase.m4: New file.
60459
60460         Module strdup.
60461         * m4/strdup.m4: New file.
60462
60463         Module strnlen.
60464         * m4/strnlen.m4: New file.
60465
60466         Module strndup.
60467         * m4/strndup.m4: New file.
60468
60469         Module xstrtod.
60470         * m4/xstrtod.m4: New file.
60471
60472         Module xstrtol.
60473         * m4/xstrtol.m4: New file.
60474
60475         Module getdate.
60476         * m4/getdate.m4: New file.
60477
60478         Module unlocked-io.
60479         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60480         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60481         * m4/jm-glibc-io.m4n: Remove file.
60482
60483         Module long-options.
60484         * m4/long-options.m4: New file.
60485
60486         Module md5.
60487         * m4/md5.m4: New file.
60488
60489         Module sha.
60490         * m4/sha.m4: New file.
60491
60492         Module getstr.
60493         * m4/getstr.m4: New file.
60494
60495         Module getline.
60496         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60497         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60498         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60499         simply getline. Infoke gl_PREREQ_GETLINE.
60500
60501         Module obstack.
60502         * m4/obstack.m4: New file.
60503
60504         Module hash.
60505         * m4/hash.m4: New file.
60506
60507         Module readtokens.
60508         * m4/readtokens.m4: New file.
60509
60510         Module strverscmp.
60511         * m4/strverscmp.m4: New file.
60512
60513         Module stdbool.
60514         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60515         OSF/1.
60516
60517         Module strtoll.
60518         * m4/strtoll.m4: New file.
60519
60520         Module strtoull.
60521         * m4/strtoull.m4: New file.
60522
60523         Module strtoimax.
60524         * m4/strtoimax.m4: New file.
60525
60526         Module strtoumax.
60527         * m4/strtoumax.m4: New file.
60528
60529         Module xstrtoimax.
60530         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60531         jm_AC_PREREQ_XSTRTOIMAX.
60532         Moved the strtol prerequisites to strtol.m4.
60533         Moved the strtoll prerequisites to strtoll.m4.
60534         Moved the strtoimax prerequisites to strtoimax.m4.
60535
60536         Module xstrtoumax.
60537         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60538         jm_AC_PREREQ_XSTRTOUMAX.
60539         Moved the strtoul prerequisites to strtoul.m4.
60540         Moved the strtoull prerequisites to strtoull.m4.
60541         Moved the strtoumax prerequisites to strtoumax.m4.
60542
60543         Module chown.
60544         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60545         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60546
60547         Module dup2.
60548         * m4/dup2.m4: New file.
60549
60550         Module ftruncate.
60551         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60552         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60553
60554         Module getgroups.
60555         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60556         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60557
60558         Module gettimeofday.
60559         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60560         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60561         gl_PREREQ_GETTIMEOFDAY.
60562
60563         Module mkdir.
60564         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60565         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60566
60567         Module mkstemp.
60568         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60569         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60570         jm_AC_TYPE_UINTMAX_T.
60571         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60572
60573         Module stat.
60574         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60575         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60576
60577         Module lstat.
60578         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60579         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60580
60581         Module timespec.
60582         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60583         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60584         * m4/st_mtim.m4: Indentation.
60585
60586         Module nanosleep.
60587         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60588         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60589         gl_PREREQ_NANOSLEEP.
60590
60591         Module regex.
60592         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60593         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60594         (gl_REGEX): New macro.
60595
60596         Module rename.
60597         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60598         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60599
60600         Module rmdir.
60601         * m4/rmdir.m4: New file.
60602
60603         Module utime.
60604         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60605         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60606         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60607
60608         Module dirname.
60609         * m4/dirname.m4: New file.
60610
60611         Module getopt.
60612         * m4/getopt.m4: New file.
60613
60614         Module unistd-safer.
60615         * m4/unistd-safer.m4: New file.
60616
60617         Module fnmatch.
60618         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60619         declaration.
60620         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60621         (gl_FUNC_FNMATCH_POSIX): New macro.
60622         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60623         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60624         simply fnmatch.
60625
60626         Module exclude.
60627         * m4/exclude.m4: New file.
60628
60629         Module human.
60630         * m4/human.m4: New file.
60631
60632         Module acl.
60633         * m4/acl.m4: Nop.
60634
60635         Module backupfile.
60636         * m4/backupfile.m4: New file.
60637         * m4/d-ino.m4: Indentation.
60638
60639         Module fsusage.
60640         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
60641         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
60642         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
60643
60644         Module dirfd.
60645         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
60646         requirements.
60647
60648         Module euidaccess.
60649         * m4/euidaccess.m4: New file.
60650
60651         Module file-type.
60652         * m4/file-type.m4: New file.
60653
60654         Module fileblocks.
60655         * m4/fileblocks.m4: New file.
60656
60657         Module filemode.
60658         * m4/filemode.m4: New file.
60659
60660         Module isdir.
60661         * m4/isdir.m4: New file.
60662
60663         Module lchown.
60664         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
60665         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
60666
60667         Module makepath.
60668         * m4/makepath.m4: New file.
60669
60670         Module modechange.
60671         * m4/modechange.m4: New file.
60672
60673         Module mountlist.
60674         * m4/mountlist.m4: New file.
60675         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
60676         Indentation.
60677
60678         Module path-concat.
60679         * m4/path-concat.m4: New file.
60680
60681         Module pathmax.
60682         * m4/pathmax.m4: New file.
60683
60684         Module same.
60685         * m4/same.m4: New file.
60686
60687         Module save-cwd.
60688         * m4/save-cwd.m4: New file.
60689
60690         Module savedir.
60691         * m4/savedir.m4: New file.
60692
60693         Module xgetcwd.
60694         * m4/xgetcwd.m4: New file.
60695         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
60696
60697         Module xreadlink.
60698         * m4/xreadlink.m4: New file.
60699
60700         Module safe-read.
60701         * m4/safe-read.m4: New file.
60702
60703         Module safe-write.
60704         * m4/safe-write.m4: New file.
60705
60706         Module closeout.
60707         * m4/closeout.m4: New file.
60708
60709         Module stdio-safer.
60710         * m4/stdio-safer.m4: New file.
60711
60712         Module getpass.
60713         * m4/getpass.m4: New file.
60714
60715         Module getugroups.
60716         * m4/getugroups.m4: New file.
60717
60718         Module group-member.
60719         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
60720         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
60721
60722         Module idcache.
60723         * m4/idcache.m4: New file.
60724
60725         Module userspec.
60726         * m4/userspec.m4: New file.
60727
60728         Module gettime.
60729         * m4/clock_time.m4: New file.
60730         * m4/gettime.m4: New file.
60731
60732         Module settime.
60733         * m4/settime.m4: New file.
60734
60735         Module posixtm.
60736         * m4/posixtm.m4: New file.
60737
60738         Module gethostname.
60739         * m4/gethostname.m4: New file.
60740
60741         Module canon-host.
60742         * m4/canon-host.m4: New file.
60743
60744         Module gettext.
60745         * m4/codeset.m4: New file, from gettext-0.11.5.
60746         * m4/gettext.m4: New file, from gettext-0.11.5.
60747         * m4/glibc21.m4: New file, from gettext-0.11.5.
60748         * m4/iconv.m4: New file, from gettext-0.11.5.
60749         * m4/intdiv0.m4: New file, from gettext-0.11.5.
60750         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
60751         * m4/inttypes.m4: New file, from gettext-0.11.5.
60752         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
60753         * m4/isc-posix.m4: New file, from gettext-0.11.5.
60754         * m4/lcmessage.m4: New file, from gettext-0.11.5.
60755         * m4/lib-ld.m4: New file, from gettext-0.11.5.
60756         * m4/lib-link.m4: New file, from gettext-0.11.5.
60757         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
60758         * m4/progtest.m4: New file, from gettext-0.11.5.
60759         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
60760         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
60761         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
60762
60763         Module localcharset.
60764         * m4/localcharset.m4: New file.
60765
60766         Module hard-locale.
60767         * m4/hard-locale.m4: New file.
60768
60769         Module mbswidth.
60770         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
60771         onceonly macros.
60772         * m4/mbrtowc.m4: Add comment.
60773
60774         Module memcasecmp.
60775         * m4/memcasecmp.m4: New file.
60776
60777         Module memcoll.
60778         * m4/memcoll.m4: New file.
60779
60780         Module unicodeio.
60781         * m4/unicodeio.m4: New file.
60782
60783         Module rpmatch.
60784         * m4/rpmatch.m4: New file.
60785
60786         Module yesno.
60787         * m4/yesno.m4: New file.
60788
60789         Module exitfail.
60790         * m4/exitfail.m4: New file.
60791
60792         Module c-stack.
60793         * m4/c-stack.m4 (gl_C_STACK): New macro.
60794         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
60795
60796         Module error.
60797         * m4/error.m4 (gl_ERROR): New macro.
60798         (jm_PREREQ_ERROR): Use onceonly macros.
60799
60800         Module fatal.
60801         * m4/fatal.m4: New file.
60802
60803         Module getloadavg.
60804         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
60805         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
60806
60807         Module getpagesize.
60808         * m4/getpagesize.m4: New file.
60809
60810         Module getusershell.
60811         * m4/getusershell.m4: New file.
60812
60813         Module physmem.
60814         * m4/physmem.m4: New file.
60815
60816         Module posixver.
60817         * m4/posixver.m4: New file.
60818
60819         Module quotearg.
60820         * m4/quotearg.m4: New file.
60821
60822         Module quote.
60823         * m4/quote.m4: New file.
60824
60825         Module readutmp.
60826         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
60827
60828         Module sig2str.
60829         * m4/sig2str.m4: New file.
60830
60831         Other.
60832         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
60833         ulonglong.m4.
60834         * m4/intmax_t.m4: New file.
60835         * m4/d-type.m4: Indentation.
60836         * m4/jm-macros.m4: Update.
60837         * m4/prereq.m4 (jm_PREREQ): Update.
60838         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
60839         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
60840         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
60841         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
60842         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
60843         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
60844         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
60845         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
60846         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
60847         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
60848         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
60849         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
60850         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
60851         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
60852         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
60853         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
60854         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
60855         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
60856         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
60857
60858 2002-12-24  Bruno Haible  <bruno@clisp.org>
60859
60860         * MODULES.txt: Update according to m4/ changes.
60861
60862         Module gettext.
60863         * config.rpath: New file, from gettext-0.11.5.
60864
60865         * modules/*: New module descriptions.
60866         * gnulib-tool: New file.
60867         * MODULES.html.sh: New file.
60868
60869 2002-12-21  Karl Berry  <karl@gnu.org>
60870
60871         * doc/fdl.texi: update to version 1.2.
60872
60873 2002-12-19  Karl Berry  <karl@gnu.org>
60874
60875         * config/config.guess: update from prep.
60876
60877 2002-12-18  Bruno Haible  <bruno@clisp.org>
60878
60879         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
60880         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
60881
60882 2002-12-17  Bruno Haible  <bruno@clisp.org>
60883
60884         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
60885         stdlib.h, string.h.
60886
60887 2002-12-17  Bruno Haible  <bruno@clisp.org>
60888
60889         * lib/canon-host.c (strdup): Remove unused declaration.
60890
60891         * lib/fsusage.c: Include full_read.h.
60892         (get_fs_usage): Use full_read instead of safe_read.
60893
60894         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
60895
60896 2002-12-12  Karl Berry  <karl@gnu.org>
60897
60898         * config/config.guess: update from prep.
60899
60900 2002-12-11  Bruno Haible  <bruno@clisp.org>
60901
60902         * m4/setenv.m4: New file, from gettext-0.11.5.
60903
60904 2002-12-11  Bruno Haible  <bruno@clisp.org>
60905
60906         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
60907         not unsetenv().
60908         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
60909         modifications:
60910
60911         2002-12-11  Bruno Haible  <bruno@clisp.org>
60912
60913                 * setenv.c (alloca): Fall back to malloc.
60914                 (freea): New macro.
60915                 (setenv): Use freea() to free memory allocated with alloca().
60916
60917         2002-11-13  Bruno Haible  <bruno@clisp.org>
60918
60919                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
60920                 function declarations.
60921                 * unsetenv.c (unsetenv): Likewise.
60922
60923         2002-03-04  Bruno Haible  <bruno@clisp.org>
60924
60925                 Portability to AIX 4.3.3.
60926                 * unsetenv.c: New file, extracted from setenv.c.
60927                 * setenv.c: Move the unsetenv() function to unsetenv.c.
60928
60929         2001-12-20  Bruno Haible  <bruno@clisp.org>
60930
60931                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
60932                 use malloc instead. For SunOS 4.
60933
60934         2001-12-11  Bruno Haible  <bruno@clisp.org>
60935
60936                 * setenv.c: Declare alloca.
60937                 (compar_fn_t): New typedef.
60938                 (KNOWN_VALUE, STORE_VALUE): Use it.
60939
60940         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
60941         setenv.h.
60942
60943 2002-12-10  Paul Eggert  <eggert@twinsun.com>
60944
60945         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
60946         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
60947         Choose values that are less likely to collide with system fnmatch
60948         options.
60949         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
60950         defined (e.g., a pure POSIX system).
60951         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
60952         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
60953
60954 2002-12-06  Paul Eggert  <eggert@twinsun.com>
60955
60956         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
60957         a pain in practice to deal with generated m4 files.  This change
60958         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
60959
60960         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
60961         and jm-glibc-io.m4, as they are no longer a special case.
60962         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
60963         kludge and the auto-generation stuff.  Check only whether the
60964         functions are declared, not whether they exist, since older hosts
60965         that don't declare the functions can't use the optimization anyway.
60966
60967 2002-12-06  Jim Meyering  <jim@meyering.net>
60968
60969         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
60970
60971         Merge in changes from libc's misc/error.c, in preparation
60972         for the merge of gnulib's changes back into libc.
60973
60974         * lib/error.c (_): Define only if not already defined.
60975         Move definition to follow all #include directives.
60976         Include unlocked-io.h only if !_LIBC.
60977         [_LIBC]: Include <libio/libioP.h>.
60978         [USE_IN_LIBIO]: Include <libio/iolibio.h>
60979         (fflush): Tweak definition to use INTUSE.
60980         (putc): Define.
60981
60982 2002-12-05  Paul Eggert  <eggert@twinsun.com>
60983
60984         * lib/alloca.c [defined emacs]: Include "lisp.h".
60985         (xalloc_die) [defined emacs]: New macro.
60986         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
60987         [! defined emacs]: Include <xalloc.h>.
60988         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
60989         (pointer): Typedef to POINTER_TYPE *.
60990         (malloc): Remove decl; we now always use xmalloc.
60991         (alloca): Use old-style definition, since Emacs needs this.
60992         Check for arithmetic overflow when computing combined size.
60993
60994 2002-12-04  Paul Eggert  <eggert@twinsun.com>
60995
60996         Do not generate unlocked-io.h automatically, since it's easier to
60997         maintain it by hand.
60998
60999         * lib/unlocked-io.h: New file, from GNU diffutils,
61000         but with proper copyright notice and attribution.
61001         * lib/gen-uio: Remove.
61002         * lib/Makefile.am: Add copyright notice.
61003         (libfetish_a_SOURCES): Add unlocked-io.h.
61004         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61005         (DISTCLEANFILES, io_functions): Remove macros.
61006         (EXTRA_DIST): Remove gen_uio.
61007         (unlocked-io.h): Remove rule.
61008
61009 2002-12-04  Jim Meyering  <jim@meyering.net>
61010
61011         Reflect the fact that stat.c and lstat.c are no longer generated.
61012         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61013         (DISTCLEANFILES): Likewise.
61014         (EXTRA_DIST): Likewise.
61015         (all_local): Don't depend on stat.c or lstat.c.
61016         (stat.c, lstat.c): Remove rules.
61017         (EXTRA_DIST): Remove xstat.in.
61018
61019         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61020         * lib/stat.c: New file.  Contents mostly from xstat.in.
61021         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61022         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61023
61024         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61025         too.
61026         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61027
61028 2002-12-03  Jim Meyering  <jim@meyering.net>
61029
61030         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61031         but not semantics, to minimize the differences between these two files.
61032         (safe_read): Change comment to mention SAFE_READ_ERROR.
61033
61034         * lib/safe-read.c (IS_EINTR): Define.
61035         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61036
61037 2002-12-02  Jim Meyering  <jim@meyering.net>
61038
61039         * lib/safe-read.c (EINTR): Define.
61040         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61041         (INT_MAX): Provide fallback.
61042         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61043
61044         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61045
61046 2002-12-02  Bruno Haible  <bruno@clisp.org>
61047
61048         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61049         Define, taken from safe-read.c.
61050         (INT_MAX): Provide fallback.
61051         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61052         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61053
61054         * lib/safe-read.c (EINTR): Remove definition.
61055         (safe_read): Don't use EINTR if it is absent.
61056
61057 2002-12-01  Jim Meyering  <jim@meyering.net>
61058
61059         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61060         zero.
61061         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61062
61063 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61064
61065         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61066         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61067         with `if (! (value < limit)) abort ();', for readability.
61068
61069 2002-11-26  Karl Berry  <karl@gnu.org>
61070
61071         * lib/strdup.c: copy from libc again, with jim's ok.
61072         * lib/.cppi-disable: re-add strdup.c
61073
61074 2002-11-25  Karl Berry  <karl@gnu.org>
61075
61076         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61077         instead of "strtol.c".
61078
61079 2002-11-25  Karl Berry  <karl@gnu.org>
61080
61081         * config/install-sh: update from automake for variable quoting, $0 in
61082         error msgs, etc.
61083
61084         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61085         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61086         entry.
61087
61088 2002-11-25  Jim Meyering  <jim@meyering.net>
61089
61090         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61091
61092 2002-11-24  Karl Berry  <karl@gnu.org>
61093
61094         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61095         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61096
61097 2002-11-24  Jim Meyering  <jim@meyering.net>
61098
61099         Update from coreutils:
61100
61101         * lib/mktime.c: Merge in changes from libc.
61102
61103         Avoid a link-time failure on some Linux systems.
61104         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61105         (otherwise).
61106         (__mon_yday): Declare with the STATIC attribute.
61107         (__mktime_internal): Likewise.
61108         Based on a report from Greg Schafer.
61109
61110 2002-11-23  Jim Meyering  <jim@meyering.net>
61111
61112         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61113         Use `unsigned', not `int', as type of index.
61114
61115         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61116
61117         * lib/fsusage.c: Remove unneeded parentheses around operands of
61118         `defined'.
61119
61120 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61121
61122         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61123         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61124         so that we can be included first.
61125         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61126         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61127         No need to include stddef.h or sys/types.h any more.
61128         Surround local include files with "", not "<>".
61129         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61130         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61131         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61132         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61133         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61134         (ISPRINT): Remove; no longer needed now that we assume C89.
61135
61136         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61137         Preserve errno.
61138
61139         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61140         quotearg_char): Use SIZE_MAX rather than
61141         (size_t) -1 when we are talking about "infinity".
61142
61143         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61144
61145 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61146
61147         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61148         hint that one should use `if (! x) abort ();' rather than `assert
61149         (x);', and anyway it's one less thing to worry about configuring.
61150         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61151         hash_rehash, hash_insert): Use abort rather than assert.
61152
61153 2002-11-22  Bruno Haible  <bruno@clisp.org>
61154
61155         * lib/safe-read.h: Assume C89. Add comments.
61156         (safe_read): Change return type to size_t.
61157         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
61158         byte counts > SSIZE_MAX correctly.
61159         * lib/safe-write.h: New file.
61160         * lib/safe-write.c: New file.
61161         * lib/full-read.h: New file.
61162         * lib/full-read.c: New file.
61163         * lib/full-write.h: Assume C89. Add comments.
61164         * lib/full-write.c: Include safe-write.h.
61165         (full_write): Rewritten to use safe_write.
61166         Suggested by Jim Meyering and Paul Eggert.
61167
61168 2002-11-21  Jim Meyering  <jim@meyering.net>
61169
61170         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
61171
61172         Merge in changes from the coreutils.
61173
61174         2002-09-25  Paul Eggert  <eggert@twinsun.com>
61175         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
61176         <stdint.h>.
61177         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
61178         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
61179         int.  Work more efficiently if X is the same width as uintmax_t.
61180         Do not compare X to -1, to avoid bogus compiler warning.
61181         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
61182         Don't assume that f_frsize and f_bsize are the same type.
61183
61184         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
61185         warning on FreeBSD.
61186
61187         * lib/makepath.c (make_path): Restore umask *before* creating the final
61188         component.
61189         (make_path): Minor reformatting.
61190
61191         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61192         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61193         HAVE_MALLOC/HAVE_REALLOC.
61194
61195         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61196         dummy ones.  At least on GNU/Linux systems, `auto' means something
61197         else.
61198         From Michael Stone.
61199
61200 2002-11-21  Bruno Haible  <bruno@clisp.org>
61201
61202         Remove case insensitive option matching.
61203         * lib/argmatch.h (argcasematch): Remove declaration.
61204         (ARGCASEMATCH): Remove macro.
61205         (__xargmatch_internal): Remove case_sensitive argument.
61206         (XARGMATCH): Update.
61207         (XARGCASEMATCH): Remove macro.
61208         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61209         case_sensitive argument.
61210         (argcasematch): Remove function.
61211         (__xargmatch_internal): Remove case_sensitive argument.
61212         (main): Use XARGMATCH instead of XARGCASEMATCH.
61213
61214         * lib/xmalloc.c: Change compile-time error message. Add comment about
61215         required autoconf version.
61216
61217 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61218
61219         Merge argmatch cleanups from Bison.  Assume C89.
61220
61221         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61222         Include stdlib.h, for EXIT_FAILURE.
61223         Always include <string.h>, since we assume C89.
61224         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61225         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61226         Include <stddef.h> instead, since it's all we need for size_t.
61227         (PARAMS): Remove.  All uses removed.
61228         (ARRAY_CARDINALITY): Do not bother to #undef.
61229         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61230         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61231         Remove unnecessary parentheses.
61232         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61233         Insert necessary parentheses.
61234         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61235         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61236
61237 2002-11-19  Bruno Haible  <bruno@clisp.org>
61238
61239         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61240         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61241
61242         * lib/mbswidth.h (PARAMS): Remove macro.
61243         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61244         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61245
61246         * lib/gcd.h (PARAMS): Remove macro.
61247         (gcd): Use ANSI C function declarations.
61248         * lib/gcd.c (gcd): Likewise.
61249
61250 2002-11-15  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/strcspn.c: Include <stddef.h>.
61253         (strcspn): Use ANSI C function declaration. Change return type to
61254         size_t. Use NULL.
61255         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61256         (strpbrk): Use NULL.
61257         * lib/strpbrk.h (PARAMS): Remove macro.
61258         (strpbrk): Use ANSI C function declaration.
61259         * lib/strstr.c: Don't include <sys/types.h>.
61260         * lib/strstr.h (PARAMS): Remove macro.
61261         (strstr): Use ANSI C function declarations.
61262
61263 2002-11-14  Karl Berry  <karl@gnu.org>
61264
61265         * config/mkinstalldirs: `do' on separate line, instead of
61266         `for var; do'.
61267
61268 2002-11-06  Bruno Haible  <bruno@clisp.org>
61269
61270         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61271         * lib/gcd.c (gcd): Likewise.
61272
61273 2002-11-05  Bruno Haible  <bruno@clisp.org>
61274
61275         * lib/gcd.h: New file, from gettext-0.11.5.
61276         * lib/gcd.c: New file, from gettext-0.11.5.
61277
61278 2002-11-05  Bruno Haible  <bruno@clisp.org>
61279
61280         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61281         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61282         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61283         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61284
61285         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61286         <libintl.h>.
61287         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61288         <libintl.h>.
61289
61290         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61291         * lib/human.c: Include gettext.h instead of <libintl.h>.
61292         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61293         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61294         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61295         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61296         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61297         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61298         (textdomain): Remove definition.
61299         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61300
61301         * lib/long-options.c: Remove include of <libintl.h> and definition of
61302         _.
61303         * lib/same.c: Remove include of <libintl.h> and definition of _.
61304
61305 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61306
61307         * lib/config.charset: A few additions for Solaris.
61308
61309 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61310
61311         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61312         * lib/localcharset.c (locale_charset): Declare as extern "C".
61313
61314 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61315
61316         * lib/config.charset: msdos in uk_UA uses CP1125.
61317
61318 2002-11-04  Bruno Haible  <bruno@clisp.org>
61319
61320         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61321         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61322         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61323         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61324         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61325
61326 2002-11-04  Bruno Haible  <bruno@clisp.org>
61327
61328         * lib/localcharset.c (locale_charset): Don't return an empty string.
61329
61330 2002-11-04  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61333         aliases.
61334
61335 2002-11-04  Bruno Haible  <bruno@clisp.org>
61336
61337         * lib/config.charset: Update for newest glibc. Add canonical names
61338         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61339
61340 2002-11-04  Bruno Haible  <bruno@clisp.org>
61341
61342         * lib/config.charset: Add support for NetBSD.
61343
61344 2002-11-04  Bruno Haible  <bruno@clisp.org>
61345
61346         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61347
61348 2002-11-01  Bruno Haible  <bruno@clisp.org>
61349
61350         * configure.in: Add AC_CONFIG_AUX_DIR call.
61351         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61352         test/Makefile.
61353         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61354
61355 2002-09-28  Karl Berry  <karl@gnu.org>
61356
61357         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61358         installed automake until the next release, since changes have been
61359         made.
61360
61361 2002-09-25  Karl Berry  <karl@gnu.org>
61362
61363         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61364         * lib/getopt*: copy from libc/posix.
61365         * lib/gettext.h: copy from gettext.
61366         * lib/.cppi-disable: add strdup.c, gettext.h.
61367
61368 2002-09-25  Karl Berry  <karl@gnu.org>
61369
61370         * config/srclist.txt: enable gettext.h check.
61371         * config/config.{guess,sub}: update from prep.
61372         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61373                 from automake 1.6.3.
61374         See srclist*.
61375
61376 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61377
61378         * regex.c (PATFETCH): Remove the translating fetch.
61379         (PATFETCH_RAW): Rename to PATFETCH.
61380         (set_image_of_range): New fun.
61381         (SET_RANGE_TABLE_WORK_AREA): Use it.
61382         (regex_compile): Don't translate the pattern chars so eagerly.
61383         Only do it when inserting an `exactn' bytecode or when handling
61384         a char-range.
61385         (mutually_exclusive_p): Avoid empty statement.
61386
61387 2002-07-06  Jim Meyering  <meyering@lucent.com>
61388
61389         * m4/README: Don't mention Makefile.am.in.
61390         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61391
61392 2002-07-01  Jim Meyering  <meyering@lucent.com>
61393
61394         * lib/c-stack.c: Include sys/time.h.
61395         From Volker Borchert.
61396
61397 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61398
61399         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61400
61401 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61402
61403         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61404         New macro.  Use it uniformly instead of
61405         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61406         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61407         reported by Vin Shelton.
61408
61409 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61410
61411         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61412         Do not assume SA_SIGINFO behavior.
61413         Bug reported by Jim Meyering on NetBSD 1.5.2.
61414
61415 2002-06-22  Jim Meyering  <meyering@lucent.com>
61416
61417         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61418         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61419
61420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61421         now that configure.ac uses AC_GNU_SOURCE.
61422         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61423         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61424
61425         Update to latest tools.  Suggestions from Paul Eggert.
61426         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61427         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61428         * m4/fnmatch.m4: Likewise.
61429         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61430         to AC_HEADER_STDBOOL
61431
61432 2002-06-22  Jim Meyering  <meyering@lucent.com>
61433
61434         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61435         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61436
61437 2002-06-22  Jim Meyering  <meyering@lucent.com>
61438
61439         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61440
61441         * lib/exitfail.c, exitfail.h: Likewise.
61442         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61443
61444         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61445         of fnmatch.h.
61446         (EXTRA_DIST): Add fnmatch_loop.c.
61447         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61448
61449         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61450         * lib/fnmatch.c: Update from diffutils-2.8.2.
61451         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61452         * lib/fnmatch.h: Remove file.
61453
61454 2002-06-21  Jim Meyering  <meyering@lucent.com>
61455
61456         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61457         * m4/mbrtowc.m4: Likewise.
61458
61459         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61460         * m4/mbswidth.m4: Reflect name change:
61461         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61462         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61463
61464         * m4/lib-link.m4: Update from gettext-0.11.2.
61465         * m4/gettext.m4: Likewise.
61466
61467         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61468         From Alfred M. Szmidt.
61469
61470 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61471
61472         * lib/file-type.h: Report an error if neither S_ISREG nor
61473         S_IFREG is defined, instead of using a test specific to glibc
61474         2.2.  This should be safe, since POSIX requires S_ISREG and
61475         Unix Version 7 had S_IFREG.  We don't need to check for
61476         <sys/types.h> since we don't use any symbols that it defines.
61477
61478 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61479
61480         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61481         $@-t, so that each temporary file name is unique and valid in the first
61482         8 characters, for operation under DOS.
61483
61484 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61485
61486         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61487
61488 2002-06-15  Jim Meyering  <meyering@lucent.com>
61489
61490         Work even with DJGPP 2.03, which lacks support for symlinks.
61491         From Richard Dawe.
61492         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61493         is defined.
61494         * lib/lchown.c (S_ISLNK): Likewise.
61495
61496 2002-06-15  Jim Meyering  <meyering@lucent.com>
61497
61498         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61499         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61500         have been included before this file.
61501
61502 2002-06-14  Jim Meyering  <meyering@lucent.com>
61503
61504         * lib/file-type.h: Use the version from diffutils-2.8.2.
61505         * lib/file-type.c: Likewise.
61506
61507 2002-06-07  Jim Meyering  <meyering@lucent.com>
61508
61509         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61510         They're needed at least for NetBSD 1.5.2.
61511         ($statxfs_includes): Include those same headers.
61512         ($statxfs_includes): Include sys/vfs.h if available.
61513         ($statxfs_includes): Likewise for sys/statvfs.h.
61514         Check for the following members in both structs statfs and statvfs:
61515         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61516
61517 2002-06-01  Jim Meyering  <meyering@lucent.com>
61518
61519         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61520         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61521
61522 2002-05-28  Jim Meyering  <meyering@lucent.com>
61523
61524         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61525         Reported by Volker Borchert.
61526
61527 2002-05-27  Jim Meyering  <meyering@lucent.com>
61528
61529         Fix a problem seen only on nonconforming systems whereby ls.c's
61530         use of localtime, and then of gettimeofday would cause trouble:
61531         the localtime call used to initialize rpl_gettimeofday's save
61532         mechanism would clobber ls's current local time information so
61533         that in any long listing the first file would always be listed
61534         with date 1970-01-01.  Analysis by Volker Borchert.
61535
61536         * lib/gettimeofday.c (localtime): Undefine.
61537         (rpl_localtime): New function.
61538
61539 2002-05-27  Jim Meyering  <meyering@lucent.com>
61540
61541         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61542         localtime.
61543
61544         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61545         use the replacement function; it wouldn't resolve at link time.
61546         Reported by Volker Borchert.
61547
61548 2002-05-22  Jim Meyering  <meyering@lucent.com>
61549
61550         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61551         file-type.h.
61552         * lib/file-type.h: New file.
61553         * lib/file-type.c (file_type): New file/function.  Extracted from
61554         diffutils.
61555
61556 2002-04-30  Jim Meyering  <meyering@lucent.com>
61557
61558         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61559
61560 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61561
61562         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61563
61564 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61565
61566         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61567         Do not check for alloca.h (no longer used) or stdbool.h (was never
61568         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61569
61570 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61571
61572         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61573
61574 2002-04-29  Jim Meyering  <meyering@lucent.com>
61575
61576         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61577         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61578         Use AC_FUNC_STRNLEN here instead.
61579
61580         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61581         With autoconf-2.53a, it's part of AC_PROG_CC.
61582
61583 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61584
61585         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61586         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61587
61588 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61589
61590         * lib/sig2str.h, lib/sig2str.c: New files.
61591         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61592
61593 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61594
61595         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61596         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61597         of 127, since 64 is the largest conceivable number for ancient
61598         nonstandard hosts.
61599         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61600
61601 2002-04-28  Jim Meyering  <meyering@lucent.com>
61602
61603         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61604
61605 2002-04-24  Jim Meyering  <meyering@lucent.com>
61606
61607         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61608         (jm_PREREQ): Use it.
61609
61610         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61611         mach/mach.h fcntl.h.
61612         Check for this function: setlocale.
61613
61614 2002-04-24  Jim Meyering  <meyering@lucent.com>
61615
61616         * lib/gettext.h: New file, from Gettext.
61617         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61618         (libfetish_a_SOURCES): Add gettext.h.
61619
61620 2002-04-16  Jim Meyering  <meyering@lucent.com>
61621
61622         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61623         ut_pid, ut_id, ut_exit.
61624
61625 2002-04-16  Jim Meyering  <meyering@lucent.com>
61626
61627         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61628         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61629         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61630
61631 2002-04-12  Jim Meyering  <meyering@lucent.com>
61632
61633         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61634         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61635         existence of the getmntinfo function.  Needed for Darwin 5.3.
61636
61637         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61638         This is necessary at least on Darwin 5.3.
61639
61640         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
61641         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
61642         strnlen.o in the library, and that makes some versions of ranlib
61643         object.
61644
61645 2002-04-12  Jim Meyering  <meyering@lucent.com>
61646
61647         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
61648
61649 2002-04-09  Jim Meyering  <meyering@lucent.com>
61650
61651         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
61652         to be more precise.  Rather than saying we're checking whether the
61653         function `works', say what we're testing.
61654         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
61655         Reported by Bruno Haible.
61656
61657 2002-03-10  Jim Meyering  <meyering@lucent.com>
61658
61659         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
61660         Suggestion from Santiago Vila.
61661
61662 2002-03-08  Jim Meyering  <meyering@lucent.com>
61663
61664         * lib/rename.c: Mention that this wrapper is needed also on
61665         mips-dec-ultrix4.4 systems.
61666
61667 2002-03-02  Jim Meyering  <meyering@lucent.com>
61668
61669         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
61670         not HAVE_CLOCK_SETTIME.
61671
61672 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61673
61674         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
61675         Check for clock_settime.
61676
61677 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61678
61679         * lib/nanosleep.h: Rename to....
61680         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
61681
61682         * lib/gettime.c: New file.
61683         * lib/settime.c: New file.
61684         * lib/stime.c: Remove.
61685
61686         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
61687         timespec.h.  Remove nanosleep.h.
61688
61689 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61690
61691         * m4/acl.m4: New file.
61692         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
61693         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
61694
61695 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61696
61697         * lib/acl.c, lib/acl.h: New files.
61698         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
61699
61700 2002-02-24  Jim Meyering  <meyering@lucent.com>
61701
61702         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
61703         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
61704         cause trouble.  Reported by Nelson Beebe.
61705
61706 2002-02-23  Paul Eggert  <eggert@twinsun.com>
61707
61708         * lib/path-concat.c (xpath_concat): Reorder code to pacify
61709         compilers that don't know that xalloc_die never returns.
61710
61711 2002-02-20  Jim Meyering  <meyering@lucent.com>
61712
61713         * lib/getdate.c: Regenerate using bison-1.33.
61714
61715 2002-02-17  Jim Meyering  <meyering@lucent.com>
61716
61717         * config/config.guess (main): Don't use `head -1'; it's no longer
61718         portable. Use `sed 1q' instead.
61719
61720 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
61721
61722         * m4/codeset.m4: Upgrade to gettext-0.11.
61723         * m4/gettext.m4: Upgrade to gettext-0.11.
61724         * m4/glibc21.m4: Upgrade to gettext-0.11.
61725         * m4/iconv.m4: Upgrade to gettext-0.11.
61726         * m4/isc-posix.m4: Upgrade to gettext-0.11.
61727         * m4/lcmessage.m4: Upgrade to gettext-0.11.
61728         * m4/lib-ld.m4: New file, from gettext-0.11.
61729         * m4/lib-link.m4: New file, from gettext-0.11.
61730         * m4/lib-prefix.m4: New file, from gettext-0.11.
61731         * m4/progtest.m4: Upgrade to gettext-0.11.
61732
61733 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61734
61735         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
61736         (jm_PREREQ): Use it.
61737
61738 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61739
61740         * lib/posixver.c, lib/posixver.h: New files.
61741         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61742
61743 2002-02-02  Paul Eggert  <eggert@twinsun.com>
61744             Bruno Haible  <bruno@clisp.org>
61745
61746         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
61747         (fwrite_success_callback): New declaration.
61748         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
61749         print_unicode_char. Call failure callback instead of error.
61750         (fwrite_success_callback): New function.
61751         (exit_failure_callback): New function.
61752         (fallback_failure_callback): New function.
61753         (print_unicode_char): Call unicode_to_mb.
61754
61755 2002-01-26  Jim Meyering  <meyering@lucent.com>
61756
61757         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
61758         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
61759
61760 2002-01-26  Jim Meyering  <meyering@lucent.com>
61761
61762         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
61763
61764 2002-01-22  Paul Eggert  <eggert@twinsun.com>
61765
61766         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
61767
61768 2002-01-22  Jim Meyering  <meyering@lucent.com>
61769
61770         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
61771         Otherwise, some versions of automake would omit the rule that makes
61772         Makefile from Makefile.in.
61773
61774 2002-01-21  Paul Eggert  <eggert@twinsun.com>
61775
61776         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
61777         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61778         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
61779         (memcoll): Set errno to zero if there is no error.
61780
61781         * lib/quotearg.c (quotearg_buffer_restyled):
61782         Fix bug with quoting buffers containing NUL when backslashing escapes.
61783         This bug was exposed by the other changes in this patch.
61784         (quotearg_n_options): New arg ARGSIZE.
61785         All callers changed.
61786         (quoting_options_from_style): New function.
61787         (quotearg_n_style): Use it.
61788         (quotearg_n_style_mem): New function.
61789
61790         * lib/quotearg.h (quotearg_n_style_mem): New function.
61791
61792 2002-01-19  Jim Meyering  <meyering@lucent.com>
61793
61794         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
61795         Remove useless quotes: DF_PROG="df".
61796         * m4/strnlen.m4: New file.
61797
61798 2002-01-16  Paul Eggert  <eggert@twinsun.com>
61799
61800         * lib/backupfile.c (ISDIGIT): Comment fix.
61801         * lib/getdate.y (ISDIGIT): Likewise.
61802         * lib/posixtm.c (ISDIGIT, year): Likewise.
61803         * lib/strverscmp.c (ISDIGIT): Likewise.
61804         * lib/userspec.c (ISDIGIT): Likewise.
61805
61806 2002-01-16  Jim Meyering  <meyering@lucent.com>
61807
61808         * lib/getdate.y: Add three semicolons, each just before a closing
61809         brace. Bison (as of version 1.31) no longer papers over that mistake.
61810
61811 2002-01-05  Jim Meyering  <meyering@lucent.com>
61812
61813         * lib/version-etc.c (version_etc_copyright): Update copyright year.
61814
61815 2001-12-19  Paul Eggert  <eggert@twinsun.com>
61816
61817         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
61818         not silently exit merely because the output buffer happens to
61819         have nothing pending.
61820
61821 2001-12-18  Paul Eggert  <eggert@twinsun.com>
61822
61823         See the big note in ../ChangeLog.
61824         * lib/human.c (suffixes): Prefer K to k for 1024.
61825         (generate_suffix_backwards): New function.
61826         (human_readable_inexact): Use it.
61827         * lib/xstrtol.c (__xstrtol): If there is no number but there
61828         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
61829         Accept 'K' as well as 'k'.
61830
61831 2001-12-15  Jim Meyering  <meyering@lucent.com>
61832
61833         * lib/regex.h (__restrict_arr): Update from libc.
61834
61835         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
61836         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
61837         (STREQ): Define.
61838
61839 2001-12-14  Jim Meyering  <meyering@lucent.com>
61840
61841         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
61842         Suggestion from Bruno Haible.
61843
61844 2001-12-10  Jim Meyering  <meyering@lucent.com>
61845
61846         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
61847         xrealloc, Instead, include "xalloc.h".
61848         (initbuffer): Don't cast xmalloc return value to char*.
61849         (readline): Reword comment.
61850         Don't cast xrealloc return value to char*
61851         Return NULL, not 0.
61852
61853 2001-12-09  Jim Meyering  <meyering@lucent.com>
61854
61855         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
61856         about `signed and unsigned type in conditional expression'.
61857         * lib/posixtm.c (posix_time_parse): Likewise.
61858
61859         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
61860
61861         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
61862         to avoid a pedantic warning.
61863
61864         * lib/getstr.c: Don't include assert.h.
61865         (getstr): Remove warning-evoking assertions.
61866         Return -1 if offset parameter is out of bounds.
61867         Change the type of a local from int to size_t.
61868
61869         * lib/strftime.c (my_strftime_localtime_r): Include this function
61870         definition in the `#if ! HAVE_TM_GMTOFF' block.
61871
61872         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
61873         Include xalloc.h instead.
61874
61875 2001-12-02  Jim Meyering  <meyering@lucent.com>
61876
61877         * lib/tempname.c: Don't declare getenv, thus reverting the change of
61878         2001-11-18.  It's no longer necessary, now that stdlib.h is always
61879         included.
61880
61881         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
61882         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
61883
61884 2001-11-30  Akim Demaille  <akim@epita.fr>
61885
61886         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
61887         before being defined.
61888
61889 2001-11-27  Paul Eggert  <eggert@twinsun.com>
61890
61891         * lib/quotearg.h (quotearg_n, quotearg_n_style):
61892         First arg is int, not unsigned.
61893         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
61894         (SIZE_MAX, UINT_MAX): New macros.
61895         (quotearg_n_options): Abort if N is negative.
61896         Avoid overflow check on hosts where size_t is 64 bits and int
61897         is 32 bits, as overflow is impossible there.
61898         Fix off-by-one typo that caused unnecessary reallocation.
61899
61900 2001-11-27  Jim Meyering  <meyering@lucent.com>
61901
61902         * lib/tempname.c: Merge with version from libc.
61903         * lib/regex.c: Likewise.
61904
61905         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
61906         systems for which STDC_HEADERS is 0, it was not included, resulting in
61907         a warning about an integer-to-pointer conversion problem with getenv.
61908         Reported by Volker Borchert.
61909
61910 2001-11-26  Jim Meyering  <meyering@lucent.com>
61911
61912         * lib/gtod.h: Remove file.
61913         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
61914         * lib/gettimeofday.c: Don't include gtod.h.
61915         (GTOD_init): Remove function.
61916         (rpl_gettimeofday): Do its job here instead, rather than aborting.
61917         Suggestion from Volker Borchert.
61918
61919 2001-11-23  Jim Meyering  <meyering@lucent.com>
61920
61921         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
61922         it.
61923         * lib/hash.c (struct hash_table): Define it here instead.
61924
61925 2001-11-22  Jim Meyering  <meyering@lucent.com>
61926
61927         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
61928
61929 2001-11-20  Jim Meyering  <meyering@lucent.com>
61930
61931         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
61932         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
61933
61934 2001-11-19  Jim Meyering  <meyering@lucent.com>
61935
61936         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
61937         directory.  Use "conftestXXXXXX" as the template.
61938         Suggestion from Paul Eggert.
61939
61940         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
61941         immediately, so the test doesn't mistakenly hit the max-open-files
61942         limit.
61943
61944 2001-11-18  Paul Eggert  <eggert@twinsun.com>
61945
61946         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
61947         (TEMPORARIES): New macro.
61948         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
61949         removes an artificial limitation (e.g. HP-UX 10.20, where
61950         TMP_MAX is 17576).
61951
61952 2001-11-18  Jim Meyering  <meyering@lucent.com>
61953
61954         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
61955
61956 2001-11-18  Jim Meyering  <meyering@lucent.com>
61957
61958         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
61959         on SunOS 4.
61960
61961         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
61962         files will be created before anything else.
61963
61964 2001-11-17  Paul Eggert  <eggert@twinsun.com>
61965
61966         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
61967         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
61968
61969 2001-11-17  Jim Meyering  <meyering@lucent.com>
61970
61971         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
61972         Prompted by a report from Bob Proulx.
61973
61974         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
61975         Instead, require UTILS_FUNC_MKSTEMP.
61976
61977 2001-11-17  Jim Meyering  <meyering@lucent.com>
61978
61979         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
61980         Now, that's done as part of AC_FUNC_STRTOD.
61981
61982 2001-11-17  Jim Meyering  <meyering@lucent.com>
61983
61984         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
61985         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
61986         rather than group writable.  Patch by Juan F. Codagnone.
61987
61988         * lib/readtokens.c: Remove explicit declarations of xmalloc and
61989         xrealloc, Instead, include "xalloc.h".
61990
61991         * lib/mountlist.c: Include unlocked-io.h after all system headers.
61992         Remove explicit declarations of xmalloc, xrealloc,
61993         and xstrdup.  Instead, include "xalloc.h".
61994
61995         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
61996         unlocked-io.h.
61997         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
61998         Likewise.
61999         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62000
62001         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62002         Reported by Padraig Brady.
62003
62004         * lib/mkstemp.c: #undef mkstemp.
62005         Include config.h.
62006         (rpl_mkstemp): Rename from mkstemp.
62007         Protoize.
62008
62009 2001-11-16  Jim Meyering  <meyering@lucent.com>
62010
62011         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62012         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62013         determine the amount of total physical memory, use pstat_getstatic.
62014         HPUX-11 doesn't define _SC_PHYS_PAGES.
62015         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62016         If sysconf couldn't be used to determine the amount of available
62017         physical memory, use both pstat_getstatic and pstat_getdynamic.
62018         Based on a patch from Bob Proulx.
62019
62020 2001-11-10  Jim Meyering  <meyering@lucent.com>
62021
62022         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62023         (jm_PREREQ): Use it.
62024
62025 2001-11-09  Jim Meyering  <meyering@lucent.com>
62026
62027         * m4/jm-macros.m4: Require autoconf-2.52f.
62028         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62029         Use these AC_-prefixed names, not the AM_-prefixed ones.
62030
62031         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62032
62033 2001-11-05  Jim Meyering  <meyering@lucent.com>
62034
62035         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62036
62037 2001-11-04  Jim Meyering  <meyering@lucent.com>
62038
62039         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62040         $DEFS.
62041
62042 2001-11-03  Jim Meyering  <meyering@lucent.com>
62043
62044         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62045         of AC_DEFUN.
62046
62047         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62048         know the name of the variable in the macro definition.
62049
62050 2001-11-03  Jim Meyering  <meyering@lucent.com>
62051
62052         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62053         in argmatch_to_argument call.
62054
62055         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62056         argument.
62057
62058         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62059         e.g., a fault due to an attempt to free a NULL pointer.
62060
62061 2001-11-01  Jim Meyering  <meyering@lucent.com>
62062
62063         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62064         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62065
62066 2001-11-01  Jim Meyering  <meyering@lucent.com>
62067
62068         * lib/dirfd.c, lib/dirfd.h: New files.
62069         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62070
62071         * lib/hash.c (hash_print) [TESTING]: Clean up.
62072
62073 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62074
62075         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62076         to avoid a warning if -Wall.
62077
62078 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62079
62080         * README: New file
62081         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62082         (per RMS's instructions, this is now the canonical source)
62083         * lgpl/, gpl/: New directories.
62084
62085 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62086
62087         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62088
62089 2001-10-21  Jim Meyering  <meyering@lucent.com>
62090
62091         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62092         this code would end up calling gettext even in packages built
62093         with --disable-nls.
62094         * lib/getopt.c (_): Likewise.
62095         * lib/regex.c (_): Likewise.
62096
62097 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62098
62099         * m4/error.m4 (jm_PREREQ_ERROR):
62100         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62101         AC_FUNC_STRERROR_R does that.
62102         Check for strerror declaration.
62103
62104         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62105         are supposed to have them these days.
62106         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62107         Merge changes from latest Autoconf CVS.
62108         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62109         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62110         POSIX decided to standardize on the int flavor of strerror_r.
62111
62112 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62113
62114         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62115         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62116         Use strerror_r that is only a macro, even if it is not a function.
62117         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62118         (private_strerror): Use prototypes, not old-style function definition.
62119         (print_errno_message): New function.
62120         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62121         char*-flavored one.
62122         (error_tail, error, error_at_line): Use it.
62123
62124 2001-10-11  Jim Meyering  <meyering@lucent.com>
62125
62126         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62127         and quote_n (1, ... to avoid clobbering a buffer.
62128
62129 2001-10-05  Jim Meyering  <meyering@lucent.com>
62130
62131         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62132         hash-pjw.h.
62133         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62134         * lib/hash-pjw.h: New file.
62135
62136 2001-09-30  Jim Meyering  <meyering@lucent.com>
62137
62138         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62139         `struct fsstat' has the `f_fstypename' member.
62140         Use that to define FS_TYPE, which is now used to make
62141         the getfsstat link test tighter.
62142
62143 2001-09-30  Jim Meyering  <meyering@lucent.com>
62144
62145         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62146         Include <sys/ucred.h>, for Apple Darwin.
62147         Include sys/mount.h and sys/fs_types.h only if available.
62148         (FS_TYPE): Define.
62149         (read_filesystem_list): Use FS_TYPE.
62150
62151 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62152
62153         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62154         a boolean context.
62155
62156 2001-09-29  Jim Meyering  <meyering@lucent.com>
62157
62158         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62159         [one-argument getmntent function]): Include stdio.h before mntent.h.
62160         SunOS 4.1.x needs it for the declaration of `FILE'.
62161         Patch by Volker Borchert.
62162
62163         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62164         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
62165         sys/fs_types.h, and make the link-test for getfsstat guard #include
62166         directives with appropriate #if HAVE_*_H tests so that we can
62167         detect getfsstat on Apple Darwin1.3.7 systems.
62168         Reported by Nelson Beebe.
62169         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
62170
62171 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62172
62173         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62174         #defines strtoimax.  Also treat the other strto* functions
62175         like strtoimax.
62176
62177         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62178         Check for strtoul and strtoumax,
62179         as those declarations are made even in the signed case.
62180         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
62181         Likewise, for strtol and strtoimax.
62182
62183 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62184
62185         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62186         #defines strtoimax.  Also treat the other strto* functions
62187         like strtoimax.
62188
62189         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62190         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62191         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62192
62193 2001-09-26  Jim Meyering  <meyering@lucent.com>
62194
62195         Most macros in unlocked-io.h had the wrong number of arguments.
62196         * lib/gen-uio: New script.
62197         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62198         * lib/unlocked-io.hin: Remove file.
62199         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62200         rather than trying to embed it here.
62201         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62202         Reported by Padraig Brady.
62203
62204 2001-09-25  Volker Borchert  <bt@teknon.de>
62205
62206         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62207         `result'.
62208
62209 2001-09-24  Jim Meyering  <meyering@lucent.com>
62210
62211         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62212
62213 2001-09-23  Jim Meyering  <meyering@lucent.com>
62214
62215         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62216         instead of the mere test for existence of mntent.h.  The latter
62217         would get a false-positive on AIX 3.4 systems.
62218         In the outer getmntent if-block, don't die if neither of the getmntent
62219         tests succeeds.  Instead, just fall through and continue with the
62220         remaining tests.
62221
62222 2001-09-23  Jim Meyering  <meyering@lucent.com>
62223
62224         * lib/mountlist.c: Remove useless parentheses in #if directives.
62225         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62226         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62227
62228 2001-09-22  Jim Meyering  <meyering@lucent.com>
62229
62230         * m4/gettext.m4: New file.  From gettext.
62231         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62232         * m4/progtest.m4: Likewise
62233         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62234         * m4/glibc21.m4: Likewise.
62235
62236         * m4/libintl.m4: Remove.  No longer used.
62237
62238 2001-09-22  Jim Meyering  <meyering@lucent.com>
62239
62240         * lib/localcharset.c: Update from latest gettext.
62241         * lib/config.charset: Likewise.
62242
62243 2001-09-20  Jim Meyering  <meyering@lucent.com>
62244
62245         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62246         strtoimax.
62247         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62248         strtoumax.
62249
62250 2001-09-20  Jim Meyering  <meyering@lucent.com>
62251
62252         * lib/xstrtol.c (strtoimax): Guard declaration with
62253         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62254         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62255         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62256         (strtoumax): Likewise, for completeness (it wasn't necessary).
62257
62258 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62259
62260         * lib/strtoimax.c (HAVE_LONG_LONG):
62261         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62262         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62263         to work around bug in IBM C compiler.
62264
62265 2001-09-17  Jim Meyering  <meyering@lucent.com>
62266
62267         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62268         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62269         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62270         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62271         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62272         whenever the right hand side need not be expanded by the shell.
62273
62274 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62275
62276         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62277         library.  It's not correct, as some older glibcs are buggy.
62278         fnmatch wasn't fixed until glibc 2.2.
62279
62280         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62281         special shell magic here.
62282
62283 2001-09-16  Jim Meyering  <meyering@lucent.com>
62284
62285         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62286         * m4/jm-macros.m4: Require it.
62287
62288 2001-09-16  Jim Meyering  <meyering@lucent.com>
62289
62290         * lib/mkdir.c: New file.
62291
62292 2001-09-15  Jim Meyering  <meyering@lucent.com>
62293
62294         * m4/jm-macros.m4: Check for help2man.
62295
62296 2001-09-11  Jim Meyering  <meyering@lucent.com>
62297
62298         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62299         The body, by Paul Eggert, was moved here from configure.in.
62300         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62301
62302 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62303
62304         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62305         (jm_PREREQ): Use it.
62306
62307 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62308
62309         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62310         Use ssize_t, not int, to store result of readlink.
62311         Check for ssize_t overflow as well as size_t overflow,
62312         as POSIX says the result of readlink is implementation-defined
62313         when ssize_t overflows.
62314         Remove unnecessary cast to char*.
62315         Use free+malloc instead of realloc, as the storage doesn't need
62316         to be preserved and it's clearer and can be more efficient that way.
62317         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62318         * lib/xreadlink.h (xreadlink): Update prototype.
62319
62320 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62321
62322         * lib/xgetcwd.c: Revert some of the previous change; intead,
62323         fix the HAVE_GETCWD_NULL code to behave more like the
62324         !HAVE_GETCWD_NULL code used to.
62325
62326         Include "xalloc.h".
62327         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62328         invoke xalloc_die.
62329
62330 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62331
62332         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62333         sys/param.h, as pathmax.h includes them.
62334
62335 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62336
62337         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62338         (jm_PREREQ_XGETCWD): New macro.
62339
62340         * m4/getcwd.m4: New file.
62341
62342 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62343
62344         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62345         like the HAVE_GETCWD_NULL code.
62346         Include pathmax.h if not HAVE_GETCWD.
62347         Do not include xalloc.h.
62348         (INITIAL_BUFFER_SIZE): New symbol.
62349         Do not use xmalloc / xrealloc, since the caller is responsible for
62350         handling errors.  Preserve errno around `free' during failure.
62351         Do not overrun buffer when using getwd.
62352
62353 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62354
62355         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62356         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62357         getcwd (NULL, 0).
62358
62359 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62360
62361         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62362         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62363         spotted by Jim Meyering.
62364
62365 2001-09-03  Jim Meyering  <meyering@lucent.com>
62366
62367         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62368         failure.
62369
62370 2001-09-02  Jim Meyering  <meyering@lucent.com>
62371
62372         * lib/error.c: Update from GNU libc.
62373
62374 2001-09-01  Jim Meyering  <meyering@lucent.com>
62375
62376         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62377         Used by df.
62378
62379 2001-09-01  Jim Meyering  <meyering@lucent.com>
62380
62381         * lib/xreadlink.c: New file.
62382         * lib/xreadlink.h: New file.
62383         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62384         xreadlink.h.
62385
62386         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62387         doesn't conflict with sparc Solaris 7's definition in
62388         /usr/include/sys/int_types.h.
62389
62390         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62391         files.
62392         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62393         and strncasecmp as r-values.  Unixware didn't have declarations.
62394
62395 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62396
62397         * lib/xstrtol.h: Add copyright notice.
62398         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62399         LONGINT_INVALID_SUFFIX_CHAR.
62400
62401 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62402
62403         * lib/xstrtol.c (strtoimax): New decl.
62404
62405 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62406
62407         * lib/xgetcwd.c: Don't include pathmax.h.
62408         Include stdlib.h and unistd.h if available.
62409         Include xalloc.h.
62410         (xmalloc, xstrdup, free): Remove decls.
62411         (xgetcwd): Don't assume sizes fit in unsigned.
62412         Check for overflow when computing sizes.
62413         Simplify reallocation code.
62414
62415 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62416
62417         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62418         a directory's st_size can have an arbitrary value, so the old
62419         usage could waste an arbitrary amount of memory.  All uses
62420         changed.
62421         * lib/savedir.h: Update prototype.
62422
62423 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62424
62425         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62426
62427         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62428         old strtoimax.c.
62429
62430         Also, make the following further changes to make this file's
62431         configuration more similar to that of strtol.c:
62432         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62433         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62434         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62435         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62436         changed to signed values.
62437
62438         And make the following changes as well:
62439         Fix copyright notice, as 1999 was missing.
62440         (verify): New macro.
62441         (strtoimax): Check sizes at compile-time, not run-time.
62442         Prefer strtol to strtoll if both work.
62443         (main): Remove; it was not that useful and was a pain to maintain.
62444
62445         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62446
62447 2001-08-31  Jim Meyering  <meyering@lucent.com>
62448
62449         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62450         Use an initial, malloc'd, buffer of length 128 rather than
62451         a statically allocated one of length 1024.
62452
62453 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62454
62455         Simplify code, partly by assuming autoconf 2.52 semantics.
62456
62457         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62458
62459         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62460         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62461         All uses removed.
62462         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62463         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62464         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62465         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62466         jm_AC_HEADER_INTTYPES_H.
62467         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62468
62469         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62470
62471         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62472         Quote first arg of AC_DEFUN.
62473         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62474         since they are needed to parse the include file even if we need
62475         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62476         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62477         but with opposite signedness.
62478
62479 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62480
62481         Merge 'exclude' changes from tar 1.13.22.
62482         This fixes one or two unlikely storage allocation overflow bugs,
62483         but doesn't change user-visible behavior otherwise.
62484
62485 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62486
62487         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62488         (jm_PREREQ_EXCLUDE): New macro.
62489
62490 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62491
62492         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62493         tm to be declared.
62494
62495 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62496
62497         * lib/hash.c: Remove '2001' from copyright notice.
62498
62499 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62500
62501         * lib/full-write.h: New file.
62502         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62503         * lib/full-write.c: Correct credits, as cccp.c no longer
62504         exists and anyway it was so heavily changed from the old cccp
62505         code as to be unrecognizable.  Include full-write.h.
62506         (full_write) Return size_t, with short writes meaning failure.
62507         All callers changed.  This fixes a bug with large buffers
62508         on 64-bit hosts.
62509         * lib/utime.c: Include full-write.h.
62510
62511 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62512
62513         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62514         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62515         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62516         Include if available.
62517         (<xalloc.h>): Include
62518         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62519         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62520         collide with FNM macros.
62521         (struct patopts): New struct.
62522         (struct exclude): Use it, as exclude patterns now come with options.
62523         (new_exclude): Support above changes.
62524         (new_exclude, add_exclude_file):
62525         Initial size must now be a power of two to simplify overflow checking.
62526         (free_exclude, fnmatch_no_wildcards): New function.
62527         (excluded_filename): No longer requires options arg, as the options
62528         are determined by add_exclude.  Now returns bool, not int.
62529         (excluded_filename, add_exclude):
62530         Add support for the fancy new exclusion options.
62531         (add_exclude, add_exclude_file): Now takes int options arg.
62532         Check for arithmetic overflow when computing sizes.
62533         (add_exclude_file): xrealloc might modify errno, so don't
62534         realloc until after errno might be used.
62535
62536         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62537         New macros.
62538         (free_exclude): New decl.
62539         (add_exclude, add_exclude_file): Now takes int options arg.
62540         (excluded_filename): No longer requires options arg, as the options
62541         are determined by add_exclude.  Now returns bool, not int.
62542
62543 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62544
62545         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62546
62547 2001-08-27  Jim Meyering  <meyering@lucent.com>
62548
62549         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62550
62551         * lib/version-etc.c (N_): Remove definition.
62552         Revert most of last change.
62553         Instead, simply don't mark the `Copyright...' string for translation.
62554         Based on advice from Paul Eggert.
62555
62556         * lib/strtoxmax.c: Tweak comment.
62557
62558 2001-08-26  Jim Meyering  <meyering@lucent.com>
62559
62560         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62561
62562         * m4/xstrtoimax.m4: New file.
62563         * m4/xstrtoumax.m4: Add comments explaining why we
62564         AC_REPLACE_FUNCS(strtol).
62565
62566 2001-08-26  Jim Meyering  <meyering@lucent.com>
62567
62568         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62569         of copyright with `%s' so translators don't get an untranslated
62570         message in 2002.
62571         (COPYRIGHT_YEAR): Define.
62572         (version_etc): Use fprintf rather than fputs.
62573         Suggestion from Ulrich Drepper.
62574
62575         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62576
62577         * lib/strtoll.c: New file, from GNU libc.
62578         * lib/xstrtoimax.c: New file.
62579
62580         * lib/xstrtol.h: Add xstrtoimax.
62581         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62582         * lib/strtoimax.c: New file.  Likewise, but first define
62583         STRTOUXMAX_SIGNED.
62584
62585         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62586         ...
62587         * lib/strtoxmax.c: ... then renamed to this.
62588
62589 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62590
62591         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62592         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62593         (jm_AC_TYPE_INTMAX_T): New macro.
62594         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62595
62596         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62597
62598         * m4/longlong.m4: Renamed from ulonglong.m4.
62599         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62600         * m4/uintmax_t.m4: Removed.
62601
62602 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62603
62604         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62605         Port to Solaris 8, where 'sed' requires a space after the 'r'
62606         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62607         Redirect output to $tmp just once.
62608
62609 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62610
62611         * lib/addext.c (<errno.h>): Include.
62612         (errno): Declare if not defined.
62613         (addext): Work correctly when pathconf returns -1 and leaves
62614         errno alone because there is no limit.  Also, work even if
62615         pathconf returns a value greater than SIZE_MAX.
62616
62617 2001-08-12  Jim Meyering  <meyering@lucent.com>
62618
62619         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62620         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62621         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62622         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62623         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62624         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62625         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62626         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62627         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62628         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62629         utime.m4, utimes.m4, xstrtoumax.m4:
62630         Quote the first argument in each use of AC_DEFUN.
62631
62632 2001-08-12  Jim Meyering  <meyering@lucent.com>
62633
62634         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62635         Simply `return getcwd (NULL, 0);'.
62636         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62637         Use 1300 as initial value for length, not PATH_MAX.
62638
62639         * lib/pathmax.h: Clean up cpp syntax.
62640
62641 2001-08-12  Jim Meyering  <meyering@lucent.com>
62642
62643         * lib/gettimeofday.c: New file.
62644         * lib/gtod.h: New file.
62645         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
62646
62647 2001-08-05  Jim Meyering  <meyering@lucent.com>
62648
62649         * m4/jm-macros.m4: Require autoconf-2.52.
62650
62651 2001-08-04  Jim Meyering  <meyering@lucent.com>
62652
62653         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
62654         stmt, to get in sync with glibc.
62655
62656 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62657
62658         The following changes are from gettext 0.10.39 as maintained by
62659         Bruno Haible.
62660
62661         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
62662         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
62663         with inverted sense.  All uses changed.
62664
62665         * lib/mbswidth.c: Don't include <limits.h>.
62666         Include <stdlib.h> and <string.h> unconditionally.
62667         (iswcntrl, mbsinit, ISCNTRL): New macros.
62668         (mbsnwidth): Use K&R style function declarations.
62669         Don't bother checking for MB_LEN_MAX == 1, since the compiler
62670         can optimize it when MB_CUR_MAX == 1.
62671         The width of control characters is zero, not 1.
62672
62673 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62674
62675         The following changes are from gettext 0.10.39 as maintained by
62676         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
62677
62678         * m4/codeset.m4: Upgrade to serial AM1.
62679         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
62680         all uses changed.  Quote first arg of AC_DEFUN.
62681         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
62682
62683         * m4/iconv.m4: Upgrade to serial AM2.
62684         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
62685         Add --with-libconv-prefix.
62686         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
62687         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
62688         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
62689         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
62690         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
62691
62692         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
62693         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
62694         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
62695         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
62696         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
62697         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
62698         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
62699         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
62700         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62701
62702         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
62703         string.h any more.
62704
62705         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
62706         not the default value.
62707
62708         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
62709         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
62710         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
62711         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
62712         Also check for iswcntrl, used for wcwidth fallback.
62713         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
62714         to Autoconf 2.13.
62715
62716 2001-08-03  Jim Meyering  <meyering@lucent.com>
62717
62718         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
62719         as it was in the original.  Reported by Paul Eggert.
62720
62721 2001-07-16  Jim Meyering  <meyering@lucent.com>
62722
62723         * m4/gettimeofday.m4: New file.
62724         Prompted by a report from Bernhard Baehr.
62725
62726 2001-07-15  Jim Meyering  <meyering@lucent.com>
62727
62728         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
62729         stuff. Now it's in ../Makefile.cfg.
62730
62731 2001-07-15  Jim Meyering  <meyering@lucent.com>
62732
62733         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
62734         (BUILT_SOURCES): Add unlocked-io.h.
62735         (io_functions): Define.
62736         (unlocked-io.h): New rule.
62737         (DISTCLEANFILES): Add unlocked-io.h.
62738         (all-local): Depend on unlocked-io.h, to ensure it is created.
62739
62740         * lib/unlocked-io.hin: New file
62741
62742         * lib/regex.c: Update from glibc.
62743
62744 2001-07-05  Jim Meyering  <meyering@lucent.com>
62745
62746         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
62747         recommendation.
62748         (libfetish_a_SOURCES): Put all .h files here instead.
62749         Remove a thus-exposed (better checks in automake) duplicate and
62750         two unnecessary .h files.
62751
62752 2001-07-04  Jim Meyering  <meyering@lucent.com>
62753
62754         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
62755         that generates jm-glibc-io.m4 so that it doesn't trigger any make
62756         distcheck failure.
62757
62758 2001-07-02  Jim Meyering  <meyering@lucent.com>
62759
62760         The following changes were prompted by suggestions from Bruno Haible.
62761
62762         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
62763         is now generated.
62764         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
62765         definition of EXTRA_DIST.
62766         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
62767         ensure that the generated file is created/updated whenever the list
62768         of $(unlocked_functions) is changed.
62769         (jm-glibc-io.m4): New rule.
62770         (unlocked-io.h): New rule -- currently unused.
62771
62772 2001-06-24  Jim Meyering  <meyering@lucent.com>
62773
62774         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
62775         unmatched right bracket, rather than kludging it with an extra,
62776         falsely-matching quote in a comment.  Patch by Akim Demaille.
62777
62778 2001-06-11  Jim Meyering  <meyering@lucent.com>
62779
62780         * lib/regex.c: Update from GNU libc.
62781
62782 2001-05-27  Jim Meyering  <meyering@lucent.com>
62783
62784         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
62785         Check for ut_type in struct utmp.
62786
62787 2001-05-27  Jim Meyering  <meyering@lucent.com>
62788
62789         * lib/readutmp.h (UT_TYPE): Define.
62790
62791 2001-05-24  Jim Meyering  <meyering@lucent.com>
62792
62793         * lib/argmatch.c: Include "quote.h".
62794         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
62795         quote function.  Reported by Göran Uddeborg.
62796
62797 2001-05-22  Jim Meyering  <meyering@lucent.com>
62798
62799         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
62800         now that we use the package-supplied version unconditionally.
62801         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
62802
62803 2001-05-21  Jim Meyering  <meyering@lucent.com>
62804
62805         * m4/regex.m4: Change a couple backticks to single quotes to avoid
62806         shell syntax errors.
62807
62808 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62809
62810         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
62811
62812 2001-05-20  Paul Eggert  <eggert@twinsun.com>
62813
62814         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
62815         Don't bother to check library strftime, since
62816         we'll be using our own my_strftime function anyway.
62817         Define my_strftime instead of strftime.
62818
62819 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
62820
62821         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
62822         which is not yet declared.
62823
62824 2001-05-15  Jim Meyering  <meyering@lucent.com>
62825
62826         * m4/regex.m4: Use proper quoting so brackets appear in the test
62827         program.
62828         Reported by, and with help from, Bruno Haible.
62829
62830 2001-05-13  Jim Meyering  <meyering@lucent.com>
62831
62832         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
62833         undefined.
62834
62835 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62836
62837         dirname code cleanup.  base_name now behaves more compatibly
62838         with POSIX basename when given file names that have trailing
62839         slashes, and similarly for dir_name.  Add new primitives
62840         base_len and dir_len.  Put the directory-name-related decls
62841         into dirname.h.
62842
62843         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
62844         * lib/backupfile.c (base_name): Likewise.
62845         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
62846         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
62847         * lib/makepath.c (strip_trailing_slashes): Likewise.
62848         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
62849         ISSLASH): Likewise.
62850         * lib/rename.c (strip_trailing_slashes): Likewise.
62851         * lib/same.c (base_name): Likewise.
62852         * lib/stripslash.c (ISSLASH): Likewise.
62853
62854         * lib/addext.c: Include <dirname.h> after size_t is defined.
62855         * lib/backupfile.c: Likewise.
62856
62857         * lib/addext.c (addext): Use base_len to trim redundant
62858         trailing slashes instead of doing it ourselves.
62859         But do not trim the last slash if it is not redundant.
62860
62861         * lib/backupfile.c (find_backup_file_name,
62862         max_backup_version): Use base_len instead of rolling it ourselves.
62863         Handle the case of "" and (on DOS) "C:" correctly.
62864
62865         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
62866         needed. Include <string.h>, <dirname.h>.
62867         (base_name): Allow file names ending in slashes, other than names
62868         that are all slashes.  In this case, return the basename followed
62869         by the slashes.  This is more general, and can be used in places
62870         where the original base_name purposely had an assertion failure.
62871         (base_len): New function.
62872
62873         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
62874         Do not include <assert.h>; no longer needed.
62875         Include xalloc.h.
62876         (memrchr): Remove decl.
62877         (dir_name_r): Remove.
62878         (dir_len): Renamed from dirlen.  All callers changed.
62879         Rewrite in terms of base_name, for simplicity and consistency.
62880         (dir_name): Never return NULL.  All callers changed.
62881         Do not include <stdlib.h> in test program; no longer needed.
62882         return 0; is fine for test program.
62883
62884         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
62885         New macros.
62886         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
62887
62888         * lib/path-concat.c (path_concat): Use base_len to compute
62889         base length, not strlen; this means we cannot rely on memcpy
62890         to null-terminate.
62891
62892         * lib/same.c (STREQ): Remove.
62893         (same_name): Handle the case where the basename ends in trailing '/'.
62894
62895         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
62896         a slash was stripped.  Do not strip the last slash after a
62897         file system prefix.
62898
62899 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62900
62901         * lib/Makefile.am (libfetish_a_SOURCES):
62902         Add strftime.c, since we now compile it on all hosts.
62903
62904         * lib/strftime.c (my_strftime):
62905         Define to nstrftime if emacs, but only if my_strftime is not defined.
62906         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
62907         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
62908         Add one more extra argument: a nanoseconds value.
62909         All uses changed.
62910         (ns): New macro.
62911         (my_strftime function): Add %N format.
62912         (emacs_strftimeu): Renamed from emacs_strftime,
62913         with extra ut argument.
62914
62915 2001-05-09  Paul Eggert  <eggert@twinsun.com>
62916
62917         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
62918
62919 2001-04-21  Jim Meyering  <meyering@lucent.com>
62920
62921         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
62922         doesn't interfere.
62923
62924 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62925
62926         * m4/ftruncate.m4: Check for chsize.
62927         Link with ftruncate.o unconditionally if ftruncate is missing.
62928         This was required when cross-compiling to i586-mingw32msvc.
62929
62930 2001-04-08  Jim Meyering  <meyering@lucent.com>
62931
62932         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
62933         recomputed; that's necessary when the offset spans a DST transition.
62934         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
62935
62936 2001-04-02  Jim Meyering  <meyering@lucent.com>
62937
62938         * lib/regex.h, regex.c: Update from GNU libc.
62939
62940 2001-03-24  Jim Meyering  <meyering@lucent.com>
62941
62942         * m4/jm-macros.m4: Require autoconf-2.49d.
62943
62944 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
62945
62946         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
62947
62948 2001-03-19  Paul Eggert  <eggert@twinsun.com>
62949
62950         * lib/version-etc.c (version_etc_copyright): Update to 2001.
62951
62952 2001-03-17  Jim Meyering  <meyering@lucent.com>
62953
62954         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
62955         now that the version in autoconf is equivalent.
62956         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
62957
62958         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
62959         Suggestion from Akim Demaille.
62960
62961         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
62962         (jm_PREREQ_TEMPNAME): New function.
62963
62964 2001-03-16  Paul Eggert  <eggert@twinsun.com>
62965
62966         * lib/tempname.c (uint64_t): Define to uintmax_t if
62967         not defined, and if UINT64_MAX is not defined.
62968         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
62969         Reported by John David Anglin.
62970
62971 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
62972
62973         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
62974         resolve alias if codeset is empty.
62975         * lib/config.charset (BeOS): Use wildcard syntax.
62976
62977 2001-03-13  Jim Meyering  <meyering@lucent.com>
62978
62979         * lib/path-concat.c (path_concat)
62980         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
62981         concatenating e.g., `C:' and `foo'.
62982         From Bruno Haible.
62983
62984 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
62985
62986         * lib/localcharset.c (locale_charset): Don't use
62987         setlocale(LC_CTYPE,NULL). Don't return NULL.
62988         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
62989
62990 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
62991
62992         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
62993         support for DOS/DJGPP.
62994
62995 2001-03-01  Paul Eggert  <eggert@twinsun.com>
62996
62997         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
62998         lacks mkstemp.  Compile our own tempname.c if we compile our own
62999         mkstemp.c, as mkstemp relies on tempname.
63000
63001 2001-03-01  Jim Meyering  <meyering@lucent.com>
63002
63003         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63004         AH_VERBATIM really does output its argument verbatim.
63005
63006 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63007
63008         * lib/Makefile.am (libfetish_a_SOURCES):
63009         Add dup-safer.c, fopen-safer.c.
63010         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63011
63012         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63013         * lib/unistd-safer.h: New files.
63014
63015 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63016
63017         The mkstemp replacement is taken from glibc 2.2.2, with some
63018         portability fixes for use outside glibc, as follows:
63019
63020         * lib/tempname.c (struct_stat64): New macro.
63021         (direxists, __gen_tempname): Use it.
63022         This avoids a portability problem with Solaris 8.
63023
63024         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63025         (<stddef.h>, <stdint.h>, <string.h>):
63026         Include only if STDC_HEADERS || _LIBC.
63027         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63028         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63029         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63030         (__set_errno): Define this macro if <errno.h> doesn't.
63031         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63032         Define these macros if <stdio.h> doesn't.
63033         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63034         Define these macros if <sys/stat.h>
63035         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63036         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63037         __xstat64): Define if not _LIBC.
63038         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63039         (__gen_tempname): Invoke gettimeofday only if
63040         HAVE_GETTIMEOFDAY || _LIBC;
63041         otherwise, fall back on plain "time".
63042         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63043
63044         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63045
63046         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63047
63048 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63049
63050         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63051
63052 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63053
63054         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63055         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63056         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63057         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63058
63059 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63060
63061         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63062         Remove workaround macros for hosts that have mbrtowc but not
63063         mbstate_t, as we now insist on proper declarations for both
63064         before using mbrtowc.
63065
63066 2001-02-17  Jim Meyering  <meyering@lucent.com>
63067
63068         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63069         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63070         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63071         UnixWare 7.1.1.
63072
63073         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63074         rather than AC_CACHE_VAL.
63075
63076 2001-02-17  Jim Meyering  <meyering@lucent.com>
63077
63078         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63079         around included file name.
63080
63081         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63082
63083         * lib/strftime.c: Update from GNU libc (the only changes were to
63084         comments).
63085
63086 2001-02-17  Jim Meyering  <meyering@lucent.com>
63087
63088         * lib/regex.c: Update from libc.
63089
63090 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63091
63092         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63093         clash.
63094
63095 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63096
63097         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63098         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63099         Reported by Mark Hounschell via Paul Eggert.
63100
63101 2001-02-07  Jim Meyering  <meyering@lucent.com>
63102
63103         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63104
63105 2001-02-05  Jim Meyering  <meyering@lucent.com>
63106
63107         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63108         it includes the patch required for `large file' support with at least
63109         HP-UX's 10.20 /bin/cc.
63110
63111 2001-02-03  Jim Meyering  <meyering@lucent.com>
63112
63113         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63114         AS_IF, now that it works once again (mysteriously).
63115         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63116
63117 2001-01-30  Jim Meyering  <meyering@lucent.com>
63118
63119         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63120         * m4/chown.m4: Rename conftestchown to conftest.chown.
63121         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63122         s/conftestdir2/conftest.d2/.
63123         * m4/utimes.m4: s/conftestdata/conftest.data/
63124         Inspired by Pavel Roskin's change in autoconf.
63125
63126 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63127
63128         * lib/config.charset: Update for FreeBSD 4.2.
63129
63130 2001-01-27  Jim Meyering  <meyering@lucent.com>
63131
63132         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63133         a use of AS_IF.
63134         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63135
63136 2001-01-26  Jim Meyering  <meyering@lucent.com>
63137
63138         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63139         quotearg.c includes it.
63140
63141 2001-01-26  Jim Meyering  <meyering@lucent.com>
63142
63143         * lib/quotearg.c: Include stddef.h.
63144         * lib/quote.c: Include stddef.h.
63145         Reported by Axel Kittenberger.
63146
63147         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63148         line in double quotes so that it evokes a better diagnostic.
63149         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63150         Reported by Axel Kittenberger.
63151
63152 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63153
63154         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63155         as if it was a `charset'.
63156
63157 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63158
63159         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
63160         has const.
63161
63162 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63163
63164         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
63165         to avoid a warning.  Add back 'const' to inptr.
63166
63167 2001-01-20  Jim Meyering  <meyering@lucent.com>
63168
63169         Be sure that headers are checked before used in code compiled
63170         for the type checks.
63171         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
63172         In place of that, invoke jm_CHECK_ALL_TYPES.
63173         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
63174         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
63175         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
63176         The check for ssize_t was mistakenly run before the test for unistd.h.
63177
63178         The configure-time check for stdbool.h was missing.
63179         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
63180         (jm_PREREQ_HASH): New function.
63181
63182 2001-01-17  Jim Meyering  <meyering@lucent.com>
63183
63184         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
63185         for autoconf-2.49c.
63186         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63187
63188 2001-01-16  Jim Meyering  <meyering@lucent.com>
63189
63190         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63191         From Bruno Haible.
63192
63193 2001-01-14  Jim Meyering  <meyering@lucent.com>
63194
63195         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63196         foo and bar.  Create conftestdir/ in the script, not in the C code.
63197         Remove directories in the script, not in the C code.
63198         Remove conftestdir{,2} before trying to create the directory.
63199         Make the entire configure script fail if the mkdir fails.
63200
63201 2001-01-14  Jim Meyering  <meyering@lucent.com>
63202
63203         * lib/rename.c: New file.  From Volker Borchert.
63204         Include stdlib.h, string.h or strings.h, and xalloc.h.
63205         Use strip_trailing_slashes rather than open-coding it.
63206
63207 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63208
63209         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63210
63211 2001-01-03  Jim Meyering  <meyering@lucent.com>
63212
63213         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63214         of local `inptr' to avoid warning with some system declarations of
63215         iconv.
63216
63217 2001-01-02  Volker Borchert  <bt@teknon.de>
63218
63219         * m4/rename.m4: New file.
63220         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63221
63222 2001-01-01  Jim Meyering  <meyering@lucent.com>
63223
63224         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63225         even on systems with utmpx.h.  It's necessary for the declaration of
63226         utmp's ut_user member.  Reported by Andreas Jaeger.
63227
63228         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63229         available. They are required for the declarations of getgrgid and
63230         getpwuid resp.
63231         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63232         Reported by Andreas Jaeger.
63233
63234 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63235
63236         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63237         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63238         so `make install' also works in VPATH builds.
63239
63240 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63241
63242         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63243         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63244         can be used in subdirectories.
63245
63246 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63247
63248         * lib/modechange.c: Do not assume that mode_t uses the
63249         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63250         the other-execute bit of FOO even if S_IXOTH != 1.
63251
63252         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63253         WOTH, XOTH, ALLM): New macros.
63254         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63255          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63256         Use them.
63257         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63258         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63259         (mode_compile):
63260         No need to use uintmax_t; unsigned long is long enough.
63261         Don't bother to get suffix since we don't use it.
63262
63263 2000-12-26  Jim Meyering  <meyering@lucent.com>
63264
63265         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63266         better with autoheader.
63267
63268 2000-12-24  Jim Meyering  <meyering@lucent.com>
63269
63270         * lib/hash.c (is_prime): Return explicit boolean values.
63271         (hash_get_first): Return NULL to appease Irix5.6's 89.
63272         Reported by Nelson Beebe.
63273
63274 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63275
63276         * lib/localcharset.c (locale_charset): Add support for Win32.
63277
63278 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63279
63280         * lib/physmem.h, lib/physmem.c: New files.
63281
63282         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63283         (noinst_HEADERS): Add physmem.h.
63284
63285         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63286         't' for compatibility with Solaris 8 sort.
63287
63288 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63289
63290         * lib/config.charset: Add support for BeOS.
63291
63292 2000-12-17  Jim Meyering  <meyering@lucent.com>
63293
63294         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63295         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63296
63297 2000-12-16  Jim Meyering  <meyering@lucent.com>
63298
63299         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63300         N and M) would have treated it like `chown N:N FILE'.
63301
63302         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63303
63304 2000-12-16  Jim Meyering  <meyering@lucent.com>
63305
63306         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63307         SHELLS_FILE to a file name that's useful on djgpp systems.
63308         Include stdlib.h.
63309         (ADDITIONAL_DEFAULT_SHELLS): Define.
63310         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63311         Based mostly on a patch from Prashant TR.
63312
63313 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63314
63315         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63316         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63317         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63318
63319 2000-12-08  Andreas Schwab  <schwab@suse.de>
63320
63321         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63322         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63323
63324 2000-12-07  Jim Meyering  <meyering@lucent.com>
63325
63326         * lib/stripslash.c (ISSLASH): Define.
63327         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63328         `/'.
63329         From Prashant TR.
63330
63331         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63332         (dir_name_r): Declare this function as static.
63333         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63334         manifest itself on a name containing a mix of slashes and
63335         backslashes.
63336         Make this function work with names starting with a DOS-style
63337         drive letter and colon prefix.
63338         (dir_name): Append `.' if necessary.
63339         Based mostly on patches from Prashant TR and Eli Zaretskii.
63340
63341         * lib/dirname.h (dir_name_r): Remove prototype.
63342
63343 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63344
63345         * m4/off_t-format.m4: Remove this file.
63346         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63347
63348 2000-12-06  Jim Meyering  <meyering@lucent.com>
63349
63350         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63351         replacement strtoull, we may well need the replacement strtoul, too.
63352         Check for declarations of strtoul and strtoull.
63353         Check for strtol.  Mainly as a cue to cause automake to include
63354         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63355         Check for limits.h -- strtol.c needs it.
63356
63357 2000-12-05  Jim Meyering  <meyering@lucent.com>
63358
63359         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63360
63361 2000-12-04  Jim Meyering  <meyering@lucent.com>
63362
63363         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63364         Also include memory.h, stdlib.h, unistd.h if appropriate.
63365         Reported by Andreas Jaeger (conflicting declaration of malloc).
63366
63367 2000-12-02  Jim Meyering  <meyering@lucent.com>
63368
63369         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63370         * m4/jm-macros.m4 (jm_MACROS): require it.
63371
63372 2000-12-02  Jim Meyering  <meyering@lucent.com>
63373
63374         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63375
63376 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63377
63378         * lib/memrchr.c: Include <config.h> before any system include file.
63379
63380 2000-11-30  Jim Meyering  <meyering@lucent.com>
63381
63382         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63383
63384 2000-11-30  Jim Meyering  <meyering@lucent.com>
63385
63386         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63387
63388 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63389
63390         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63391
63392 2000-11-26  Jim Meyering  <meyering@lucent.com>
63393
63394         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63395
63396 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63397
63398         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63399         size of (size_t) -1; it's not portable.
63400
63401 2000-11-17  Jim Meyering  <meyering@lucent.com>
63402
63403         * lib/strstr.c: Update from GNU libc.
63404
63405 2000-11-17  Akim Demaille  <akim@epita.fr>
63406
63407         * lib/obstack.h: Formatting changes.
63408         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63409         prevent type checking.
63410         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63411         cast the value to (void *): assigning a `foo *' to a `void *'
63412         variable is valid.
63413         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63414
63415 2000-11-16  Jim Meyering  <meyering@lucent.com>
63416
63417         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63418
63419 2000-11-11  Jim Meyering  <meyering@lucent.com>
63420
63421         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63422
63423 2000-11-10  Jim Meyering  <meyering@lucent.com>
63424
63425         * lib/obstack.h: Update from GNU libc.
63426         * lib/obstack.c: Likewise.
63427
63428 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63429
63430         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63431
63432 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63433
63434         * lib/getusershell.c (setusershell): Use rewind rather than
63435         fseek/fseeko, to avoid configuration hassles with fseeko.
63436         Don't bother opening SHELLS_FILE if shellstream is NULL;
63437         it's not necessary.
63438
63439 2000-11-05  Jim Meyering  <meyering@lucent.com>
63440
63441         * lib/makepath.h (make_dir): Declare.
63442         * lib/makepath.c (make_dir): Remove `static' attribute.
63443         Tweak a comment.
63444
63445 2000-11-04  Jim Meyering  <meyering@lucent.com>
63446
63447         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63448
63449 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63450
63451         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63452         last one in a bucket, advance to the next bucket.
63453
63454 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63455
63456         * lib/fnmatch.c: Do not comment out all the code if we are using
63457         the GNU C library, because in some cases we are replacing buggy
63458         code in the GNU C library itself.
63459
63460 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63461
63462         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63463         (regex_compile): Catch bogus \(\1\).
63464
63465 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63466
63467         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63468         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63469         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63470
63471 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63472
63473         * lib/error.h, getline.h, modechange.h:
63474         Remove "2000" from Copyright line, as the file hasn't been
63475         changed this year other than in the copyright notice.
63476
63477         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63478         was changed this year.
63479
63480 2000-10-29  Jim Meyering  <meyering@lucent.com>
63481
63482         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63483         renaming.
63484         * m4/ls-mntd-fs.m4: Likewise
63485
63486 2000-10-29  Jim Meyering  <meyering@lucent.com>
63487
63488         * lib/xstat.in: Fix grammar in comment.
63489
63490 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63491
63492         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63493         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63494         doesn't define __restrict_arr.
63495
63496 2000-10-28  Jim Meyering  <meyering@lucent.com>
63497
63498         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63499         (jm_PREREQ_MEMCHR): New function.
63500
63501 2000-10-28  Jim Meyering  <meyering@lucent.com>
63502
63503         * lib/memchr.c: Update from libc.
63504         Adjust for portability:
63505         [HAVE_STDLIB_H]: Include stdlib.h.
63506         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63507         Undef __memchr, too.
63508         [!weak_alias]: Define __memchr to memchr.
63509
63510         * lib/regex.c: Update from libc.
63511         * lib/regex.h: Likewise.
63512         * lib/getopt1.c: Likewise.
63513         * lib/memcmp.c: Likewise.
63514
63515         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63516         Avoid using fseek, when possible -- it's broken by design.
63517         Patch by Ulrich Drepper.
63518
63519 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63520
63521         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63522         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63523         Giving in to popular pressure to shut up the compiler with casts.
63524
63525 2000-10-26  Jim Meyering  <meyering@lucent.com>
63526
63527         * lib/strftime.c: Update from libc.
63528
63529 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63530
63531         * regex.c: More `unsigned char' -> `re_char' changes.
63532         Also change several `int' into `re_wchar_t'.
63533         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63534         (PUSH_FAILURE_POINTER): Don't cast any more.
63535         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63536         We want GCC to complain, since this piece of code makes
63537         re_match non-reentrant, which *should* be fixed.
63538         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63539         (EXTEND_BUFFER): Use RETALLOC.
63540         (SET_LIST_BIT): Don't cast.
63541         (re_wchar_t): New type.
63542         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63543         that those two functions will always properly return.
63544         (IMMEDIATE_QUIT_CHECK): Cast to void.
63545         (analyse_first): Use recursion rather than an explicit stack.
63546         (re_compile_fastmap): Can't fail anymore.
63547         (re_search_2): Don't check re_compile_fastmap for failure.
63548         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63549         Now also sets the new value (passed in a new argument).
63550         (re_match_2_internal): Use it.
63551         Also, use a new var `reg' of type size_t when looping through regs
63552         rather than reuse the inappropriate `mcnt'.
63553
63554 2000-10-25  Jim Meyering  <meyering@lucent.com>
63555
63556         * lib/obstack.c: Update from libc.
63557
63558 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63559
63560         * regex.c (regex_compile): Change the way of handling a range from
63561         a char less than 256 to a char not less than 256.
63562
63563 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63564
63565         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63566         NT-Emacs only.
63567         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63568         so that re_search functions only quit when callers expect them to.
63569
63570 2000-10-23  Jim Meyering  <meyering@lucent.com>
63571
63572         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63573         wrong.  That set_locale call must not have any side effects.
63574         From Paul Eggert.
63575
63576 2000-10-22  Jim Meyering  <meyering@lucent.com>
63577
63578         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63579         [CYCLIC]: Remove now-unused definition.
63580
63581         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63582         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63583         Suggestion from Ulrich Drepper.
63584
63585 2000-10-21  Jim Meyering  <meyering@lucent.com>
63586
63587         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63588         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63589         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63590
63591 2000-10-21  Jim Meyering  <meyering@lucent.com>
63592
63593         * lib/dirname.c (memrchr): Declare if necessary.
63594         (dir_name): Remove the restriction that there be no
63595         trailing slashes.  Now, this code skips past them, effectively
63596         ignoring them.
63597         [TEST_DIRNAME] (main): New unit tests.
63598
63599         * lib/memrchr.c: New file from GNU libc.
63600         Undef __memrchr, too.
63601         [!weak_alias]: Define __memrchr to memrchr.
63602         Guard weak_alias use with `#ifdef weak_alias'.
63603
63604 2000-10-21  Jim Meyering  <meyering@lucent.com>
63605
63606         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63607         (dir_name): Use dir_name_r.
63608         * lib/dirname.h (dir_name_r): Declare it.
63609
63610 2000-10-17  Jim Meyering  <meyering@lucent.com>
63611
63612         * lib/quote.h (PARAMS): Define and use.
63613         Reported by Akim Demaille.
63614
63615         * lib/getopt.c: Update from libc.
63616
63617 2000-10-16  Jim Meyering  <meyering@lucent.com>
63618
63619         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63620         setlocale.
63621         From Jan Fedak.
63622
63623 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63624
63625         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63626
63627 2000-09-25  Jim Meyering  <meyering@lucent.com>
63628
63629         * lib/md5.h (rol): Define (from GnuPG).
63630
63631         * lib/sha.c: Give credit (GnuPG) where due.
63632         (M): Use rol rather than open-coding it.
63633         Add a FIXME comment.
63634
63635 2000-09-21  Jim Meyering  <meyering@lucent.com>
63636
63637         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63638         Reported by Michael Stone.
63639
63640 2000-09-20  Jim Meyering  <meyering@lucent.com>
63641
63642         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
63643         (noinst_HEADERS): Add sha.h.
63644         Based on code from Scott G. Miller and from GnuPG.
63645
63646 2000-09-18  Jim Meyering  <meyering@lucent.com>
63647
63648         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
63649         LIBS. Otherwise, everyone ends up linking with -lelf for some
63650         configurations.
63651         Reported by Mike Stone.
63652
63653 2000-09-15  Jim Meyering  <meyering@lucent.com>
63654
63655         * lib/regex.c: Update from libc.
63656
63657 2000-09-10  Jim Meyering  <meyering@lucent.com>
63658
63659         * lib/getopt.c (_getopt_internal): Update from glibc.
63660
63661 2000-09-09  Jim Meyering  <meyering@lucent.com>
63662
63663         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
63664         think it should be used as a general replacement for isascii.
63665         * lib/fnmatch.c: Likewise.
63666         * lib/mbswidth.c: Likewise
63667         * lib/regex.c: Likewise.
63668
63669         Don't use atoi.
63670         * lib/userspec.c: Include sys/param.h and limits.h.
63671         Include xstrtol.h.
63672         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63673         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
63674         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
63675         UID, GID.  Check range.
63676
63677 2000-09-06  Jim Meyering  <meyering@lucent.com>
63678
63679         * lib/getopt.c (_getopt_internal): Update from glibc.
63680
63681 2000-08-30  Jim Meyering  <meyering@lucent.com>
63682
63683         * lib/strftime.c: Merge in changes from GNU libc.
63684
63685 2000-08-26  Jim Meyering  <meyering@lucent.com>
63686
63687         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
63688         * m4/fpending.m4: New file.
63689
63690 2000-08-26  Jim Meyering  <meyering@lucent.com>
63691
63692         * lib/closeout.c: Include "__fpending.h".
63693         (close_stdout_status): Return right away if there's nothing to flush.
63694
63695         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
63696         * lib/__fpending.c: New file.
63697         * lib/__fpending.h: New file.
63698
63699 2000-08-20  Jim Meyering  <meyering@lucent.com>
63700
63701         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
63702         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
63703         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
63704
63705 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
63706
63707         Improve fileutils installation on systems where running
63708         programs (like install) can't be unlinked.
63709         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
63710         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
63711
63712 2000-08-07  Paul Eggert  <eggert@twinsun.com>
63713
63714         Standardize on "memory exhausted" instead of "Memory exhausted"
63715         or "virtual memory exhausted".
63716         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
63717         "virtual memory exhausted".
63718         * lib/same.c (same_name): Invoke xalloc_die instead of printing
63719         our own message.
63720         * lib/userspec.c (parse_user_spec): Likewise.
63721         * lib/bumpalloc.h: comment fix
63722         * lib/same.c, userspec.c: Include xalloc.h.
63723
63724         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
63725         not char *const and pointing to a constant array.
63726         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
63727         (xrealloc): Comment fix.
63728
63729         * lib/userspec.c (parse_user_spec):
63730         Don't translate a message until just before returning,
63731         to avoid unnecessary translation.
63732
63733 2000-08-07  Jim Meyering  <meyering@lucent.com>
63734
63735         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
63736         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
63737         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
63738         getgroups.c, gethostname.c, getopt.h, group-member.c,
63739         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
63740         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
63741         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
63742         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
63743         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
63744         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
63745         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
63746         yesno.c: Back out Copyright date changes for each file with no change
63747         this year.  This eases coordination with other programs using the same
63748         source code modules.  From Paul Eggert.
63749
63750 2000-08-06  Paul Eggert  <eggert@twinsun.com>
63751
63752         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
63753         not char, for compatibility with glibc 2.1.3 strftime.c.
63754
63755 2000-08-03  Greg McGary  <greg@mcgary.org>
63756
63757         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
63758         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
63759         (EXTEND_BUFFER): Use them.
63760
63761 2000-08-01  Jim Meyering  <meyering@lucent.com>
63762
63763         * lib/dirname.c (ISSLASH): Define.
63764         (BACKSLASH_IS_PATH_SEPARATOR): Define.
63765         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
63766         both `\' and `/' may be use as path separators.
63767         Based on a patch from Prashant TR.
63768
63769 2000-07-31  Paul Eggert  <eggert@twinsun.com>
63770
63771         * lib/quotearg.c (quotearg_n_options): Don't make the initial
63772         slot vector a constant, since it might get modified.
63773
63774 2000-07-31  Jim Meyering  <meyering@lucent.com>
63775
63776         * lib/xmalloc.c: Use `virtual memory exhausted', not
63777         `Memory exhausted'.
63778         * lib/obstack.c (print_and_abort): Likewise.
63779
63780 2000-07-30  Paul Eggert  <eggert@twinsun.com>
63781
63782         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
63783         buffer, so that the caller can always quote one small
63784         component of a "memory exhausted" message in slot 0.
63785         From a suggestion by Jim Meyering.
63786
63787 2000-07-30  Jim Meyering  <meyering@lucent.com>
63788
63789         * lib/makepath.c (make_path): Quote the other instance, too.
63790
63791         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
63792         (STATIC_BUF_SIZE): Define.
63793         (quotearg_n_options): Use only statically allocated storage when
63794         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
63795         than STATIC_BUF_SIZE.
63796
63797 2000-07-29  Jim Meyering  <meyering@lucent.com>
63798
63799         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
63800         * lib/dirname.c (dir_name): Likewise.
63801
63802         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
63803         `/'.
63804
63805         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
63806         (dir_name): Assert that there are no trailing slashes.
63807
63808 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
63809
63810         * lib/mbswidth.h (mbswidth): Add a flags argument.
63811         (mbswidth): New declaration.
63812         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
63813         * lib/mbswidth.c (mbswidth): Add a flags argument.
63814         (mbsnwidth): New function.
63815
63816 2000-07-24  Jim Meyering  <meyering@lucent.com>
63817
63818         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
63819
63820 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63821
63822         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
63823
63824 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63825
63826         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
63827         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
63828         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
63829         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
63830         invoke multibyte primitives.
63831
63832 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63833
63834         * lib/quotearg.c:
63835         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
63836         so that mbstate_t is always defined.
63837
63838         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
63839         be 1 in at least one GCC installation, and this configuration
63840         error is likely to be common.  Ignoring MB_LEN_MAX hurts
63841         performance on hosts that have mbrtowc but have only unibyte
63842         locales, but I assume these hosts are rare.
63843
63844 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63845
63846         * lib/mbswidth.c (_XOPEN_SOURCE):
63847         Don't define; this causes problems on Solaris 7.
63848         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
63849
63850 2000-07-23  Jim Meyering  <meyering@lucent.com>
63851
63852         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
63853         too: getgrgid, getpwuid, getuid.
63854
63855 2000-07-23  Jim Meyering  <meyering@lucent.com>
63856
63857         * lib/basename.c (base_name): Add an assertion.
63858
63859 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
63860
63861         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
63862         shadow its mbsinit function.
63863
63864 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63865
63866         * lib/mbswidth.h: New file.
63867         * lib/mbswidth.c: New file.
63868         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
63869         (noinst_HEADERS): Add mbswidth.h.
63870
63871 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63872
63873         * lib/config.charset: Add support for FreeBSD. Improve support for
63874         HP-UX and IRIX 6.
63875
63876 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
63877
63878         * m4/mbswidth.m4: New file.
63879         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
63880
63881 2000-07-15  Jim Meyering  <meyering@lucent.com>
63882
63883         * lib/makepath.c: Include quote.h.
63884         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
63885         corresponding argument in a `quote (...)' call.
63886         Give better diagnostics.
63887
63888         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
63889         (noinst_HEADERS): Add quote.h.
63890
63891         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
63892         from tar's src/misc.c.
63893         * lib/quote.h: New file.  Prototypes for same.
63894
63895 2000-07-14  Paul Eggert  <eggert@twinsun.com>
63896
63897         From a suggestion by Bruno Haible.
63898         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
63899         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
63900         to decide whether to define the BeOS workaround macro;
63901         this adjusts to the change to AC_MBSTATE_T.
63902
63903 2000-07-14  Jim Meyering  <meyering@lucent.com>
63904
63905         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
63906         jm_AC_TYPE_UINTMAX_T.
63907
63908 2000-07-13  Paul Eggert  <eggert@twinsun.com>
63909
63910         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
63911
63912         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
63913         quotearg_buffer_restyled): Add support for
63914         clocale_quoting_style.  Undo previous change to
63915         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
63916         and "{RIGHT QUOTATION MARK}" msgids.
63917
63918 2000-07-10  Paul Eggert  <eggert@twinsun.com>
63919
63920         From a suggestion by Bruno Haible.
63921         * m4/mbstate_t.m4 (AC_MBSTATE_T):
63922         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
63923         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
63924         and mbstate_t, to a single-part test that simply defines mbstate_t.
63925         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
63926         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
63927
63928 2000-07-10  Jim Meyering  <meyering@lucent.com>
63929
63930         * m4/strerror_r.m4: Mirror the correction made in autoconf.
63931
63932         * m4/gnu-source.m4: Output to confdefs.h directly.
63933         Suggestion from Akim Demaille.
63934
63935 2000-07-09  Paul Eggert  <eggert@twinsun.com>
63936
63937         The old behavior of quoting `like this' doesn't look good with
63938         newer, ISO-style fonts.  See:
63939         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
63940
63941         Instead, quote "like this" by default.  Let the translator
63942         tailor the locale-specific quoting behavior by providing
63943         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
63944
63945         * lib/quotearg.c (N_): New macro.
63946         (gettext_default): New function.
63947         (quotearg_buffer_restyled): Use
63948         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
63949         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
63950
63951 2000-07-09  Jim Meyering  <meyering@lucent.com>
63952
63953         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
63954         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
63955
63956         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
63957         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
63958
63959 2000-07-09  Jim Meyering  <meyering@lucent.com>
63960
63961         * lib/Most files: Update copyright dates to include 2000.
63962
63963 2000-07-08  Jim Meyering  <meyering@lucent.com>
63964
63965         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
63966         if not defined.
63967         (xgethostname): Remove now-unnecessary #ifdef.
63968         Move declaration of `err' into loop where it's used.
63969
63970 2000-07-05  Paul Eggert  <eggert@twinsun.com>
63971         and Bruno Haible  <haible@clisp.cons.org>
63972
63973         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
63974         only if the test for an object-type mbstate_t fails.  This
63975         prevents us from mistakenly reporting that mbstate_t is a
63976         system object type after we "#define mbstate_t int" to work
63977         around its lack.
63978
63979 2000-07-05  Paul Eggert  <eggert@twinsun.com>
63980         and Bruno Haible  <haible@clisp.cons.org>
63981
63982         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
63983
63984 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63985
63986         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
63987         to strerror_r.
63988         Include <ctype.h> for use of isalpha.
63989
63990 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63991
63992         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
63993         by allocating a larger buffer. Test the gethostname return value for
63994         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
63995         returns an error and ENAMETOOLONG isn't defined.
63996
63997 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63998
63999         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64000         dimension.
64001
64002 2000-07-04  Jim Meyering  <meyering@lucent.com>
64003
64004         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64005         of the deprecated AC_CHECKING.
64006
64007 2000-07-04  Jim Meyering  <meyering@lucent.com>
64008
64009         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64010         Reported by Bruno Haible.
64011
64012 2000-07-04  Jim Meyering  <meyering@lucent.com>
64013
64014         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64015         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64016         lacks mbrtowc.
64017
64018 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64019
64020         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64021         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64022
64023 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64024         and Bruno Haible  <haible@clisp.cons.org>
64025
64026         * lib/quotearg.c (mbrtowc):
64027         Assign to *pwc, and return 1 only if result is nonzero.
64028         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64029
64030 2000-07-03  Jim Meyering  <meyering@lucent.com>
64031
64032         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64033
64034 2000-07-03  Jim Meyering  <meyering@lucent.com>
64035
64036         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64037         This is necessary to get a definition of e.g., UTMP_FILE on
64038         HP-UX 10.20.
64039         From Bob Proulx.
64040
64041 2000-07-02  Jim Meyering  <meyering@lucent.com>
64042
64043         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64044
64045         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64046         AC_LIBOBJ(function_name).
64047         * m4/chown.m4: Likewise.
64048         * m4/fnmatch.m4: Likewise.
64049         * m4/ftruncate.m4: Likewise.
64050         * m4/getgroups.m4: Likewise.
64051         * m4/getline.m4: Likewise.
64052         * m4/group-member.m4: Likewise.
64053         * m4/jm-macros.m4: Likewise.
64054         * m4/lstat.m4: Likewise.
64055         * m4/malloc.m4: Likewise.
64056         * m4/memcmp.m4: Likewise.
64057         * m4/nanosleep.m4: Likewise.
64058         * m4/putenv.m4: Likewise.
64059         * m4/realloc.m4: Likewise.
64060         * m4/regex.m4: Likewise.
64061         * m4/stat.m4: Likewise.
64062         * m4/strftime.m4: Likewise.
64063
64064 2000-07-02  Jim Meyering  <meyering@lucent.com>
64065
64066         * lib/quotearg.c (mbstate_t): Don't define here.
64067
64068 2000-07-02  Jim Meyering  <meyering@lucent.com>
64069
64070         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64071
64072 2000-07-01  Jim Meyering  <meyering@lucent.com>
64073
64074         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64075
64076 2000-07-01  Jim Meyering  <meyering@lucent.com>
64077
64078         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64079         problem.
64080
64081 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64082
64083         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64084         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64085
64086 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64087
64088         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64089         per change in ../m4/ls-mntd-fs.m4.
64090         (read_filesystem_list): Ignore symbolic links.
64091
64092 2000-06-29  Jim Meyering  <meyering@lucent.com>
64093
64094         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64095         for declaration of strcmp.
64096
64097         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64098
64099         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64100         Avoid warning by casting result to `char *' to remove `const'.
64101
64102 2000-06-28  Jim Meyering  <meyering@lucent.com>
64103
64104         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64105         included by quotearg.c, for which we perform this test.  From
64106         Bruno Haible.
64107
64108 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64109
64110         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64111         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64112         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64113
64114 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64115
64116         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64117
64118 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64119
64120         savedir now sets errno on failure and invokes xmalloc to get memory.
64121         Fix a couple of other minor bugs while we're at it.
64122
64123         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64124         (NAMLEN): Remove macro.
64125         (malloc, realloc): Remove decls.
64126         (stpcpy): Likewise.
64127         ("xalloc.h"): Include.
64128         (NAME_SIZE_DEFAULT): New macro.
64129         (savedir): Use xmalloc / xrealloc to allocate memory.
64130         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64131         Skip "" directory entries.
64132         Use strlen to calculate directory entry length, since the old method
64133         is rarely used these days and isn't worth supporting.
64134         Don't use a pointer after freeing it.
64135         Check for integer overflow when calculating allocation size.
64136         Use memcpy to copy entries, instead of stpcpy.
64137         Set errno properly when returning NULL.
64138         Check for readdir error.
64139
64140 2000-06-26  Jim Meyering  <meyering@lucent.com>
64141
64142         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64143
64144 2000-06-25  Jim Meyering  <meyering@lucent.com>
64145
64146         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64147         Linux header bug when _XOPEN_SOURCE is defined to 500.
64148
64149 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64150
64151         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64152         deficiency.
64153
64154 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64155
64156         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
64157         Include xalloc.h.
64158         Don't include <stdlib.h>.  Don't declare malloc, realloc.
64159
64160 2000-06-24  Jim Meyering  <meyering@lucent.com>
64161
64162         * m4/strerror_r.m4: Revive this file -- to try out an experimental
64163         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
64164         for which strerror does return char*, but which lacks a conveniently
64165         accessible declaration of the function.  If the compile-test says
64166         strerror_r doesn't work, then resort to a `run'-test that works on
64167         BeOS and segfaults on DEC Unix.
64168
64169 2000-06-24  Jim Meyering  <meyering@lucent.com>
64170
64171         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
64172
64173 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64174
64175         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
64176         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
64177
64178 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64179
64180         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
64181         (mbrtowc, mbstate_t): Define substitutes if
64182         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
64183         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
64184         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
64185
64186 2000-06-23  Jim Meyering  <meyering@lucent.com>
64187
64188         * m4/afs.m4: Add missing AC_MSG_RESULT.
64189         Reported by Bruno Haible.
64190
64191         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64192         Suggestion from Bruno Haible.
64193
64194 2000-06-23  Jim Meyering  <meyering@lucent.com>
64195
64196         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64197
64198 2000-06-21  Jim Meyering  <meyering@lucent.com>
64199
64200         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64201
64202 2000-06-21  Jim Meyering  <meyering@lucent.com>
64203
64204         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64205         (noinst_HEADERS): Add getstr.h.
64206
64207         * lib/getline.c (getstr): Move into a separate file.
64208         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64209         the following changes: new parameter, delim2; both delim[12]
64210         parameters have type `int', not `char'.  The latter would lose
64211         with 8-bit delimiters.
64212         * lib/getstr.h: New file.
64213
64214 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64215
64216         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64217         than 1024, return a memory chunk of least possible size, instead
64218         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64219         Use free/xmalloc instead of xrealloc to avoid copying for very long
64220         paths.
64221
64222 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64223
64224         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64225         the empty string.
64226
64227 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64228
64229         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64230         address, not strdup.  Include <stdlib.h> and don't declare free().
64231
64232 2000-06-19  Jim Meyering  <meyering@lucent.com>
64233
64234         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64235
64236 2000-06-18  Jim Meyering  <meyering@lucent.com>
64237
64238         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64239
64240         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64241         `checking whether...' message to be consistent with that of the
64242         lstat test.
64243
64244 2000-06-18  Jim Meyering  <meyering@lucent.com>
64245
64246         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64247         Besides, these days every porting target provides a mkdir function.
64248
64249         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64250         needed. (this snippet comes from src/system.h).
64251
64252 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64253
64254         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64255
64256 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64257
64258         * lib/human.c (adjust_value): New function.
64259         (human_readable_inexact): Apply rounding style even when
64260         printing approximate values.
64261
64262 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64263
64264         * lib/human.c (human_readable_inexact): Allow an input block
64265         size that is not a multiple of the output block size, and vice versa.
64266         Reported by Piergiorgio Sartor.
64267
64268 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64269
64270         * lib/getdate.y (get_date): Apply relative times after time
64271         zone indicator, not before.  Reported by Todd A. Jacobs.
64272
64273 2000-06-13  Jim Meyering  <meyering@lucent.com>
64274
64275         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64276
64277         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64278
64279 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64280
64281         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64282
64283 2000-06-12  Jim Meyering  <meyering@lucent.com>
64284
64285         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64286         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64287         optional argument.
64288         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64289         the optional argument, `lib'.
64290
64291 2000-06-08  Jim Meyering  <meyering@lucent.com>
64292
64293         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64294
64295 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64296
64297         Rewrite largefile configuration so that we don't need to run
64298         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64299         AC_CANONICAL_HOST in configure.in -- jmm]
64300
64301         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64302         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64303         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64304         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64305         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64306         All uses changed.
64307         Instead of inspecting the output of getconf, try to compile the
64308         test program without and with the macro definition.
64309         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64310         for getconf.  Instead, check for the needed flags by compiling
64311         test programs.
64312
64313 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64314
64315         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64316
64317 2000-06-04  Jim Meyering  <meyering@lucent.com>
64318
64319         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64320         SunOS 4.1.4 for which gid_t is an unsigned type.
64321
64322 2000-06-03  Jim Meyering  <meyering@lucent.com>
64323
64324         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64325         now that autoconf requires that.
64326
64327         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64328         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64329         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64330
64331 2000-06-03  Jim Meyering  <meyering@lucent.com>
64332
64333         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64334
64335 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64336
64337         * m4/glibc21.m4: New file.
64338         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64339
64340 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64341
64342         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64343         newer, don't install charset.alias.
64344         * lib/config.charset: Change the Linux/glibc rules so they become empty
64345         on glibc-2.1 or newer.
64346
64347 2000-06-02  Jim Meyering  <meyering@lucent.com>
64348
64349         * lib/mountlist.c: Back out last change.  Instead, do this...
64350         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64351         me_dummy member using the same `ignore'-testing code.
64352         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64353         fs_type strings.
64354         From Mark D. Roth.
64355
64356 2000-05-29  Jim Meyering  <meyering@lucent.com>
64357
64358         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64359         mounts with the `ignore' attribute.  Based on a patch from
64360         Mark D. Roth.
64361
64362 2000-05-28  Jim Meyering  <meyering@lucent.com>
64363
64364         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64365         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64366         * m4/stat.m4: Likewise.
64367         * m4/lstat.m4: Likewise.
64368         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64369
64370         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64371         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64372
64373 2000-05-26  Jim Meyering  <meyering@lucent.com>
64374
64375         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64376
64377 2000-05-24  Jim Meyering  <meyering@lucent.com>
64378
64379         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64380         autoconf requires that.
64381         * m4/lib-check.m4: Likewise.
64382         * m4/jm-macros.m4: Likewise.
64383         * m4/strftime.m4: Likewise.
64384
64385         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64386         AC_CHECK_DECLS, now that autoconf requires that.
64387
64388 2000-05-22  Jim Meyering  <meyering@lucent.com>
64389
64390         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64391         * m4/lstat.m4: Likewise.
64392
64393 2000-05-22  Jim Meyering  <meyering@lucent.com>
64394
64395         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64396
64397 2000-05-20  Jim Meyering  <meyering@lucent.com>
64398
64399         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64400         (jm_PREREQ): Use it.
64401
64402 2000-05-18  Jim Meyering  <meyering@lucent.com>
64403
64404         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64405         back, too, since it may have been modified by allocate_entry.
64406         (hash_delete): Rewrite to use neither the assignment operator
64407         nor the comma operator in an if-expression.
64408
64409 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64410
64411         * lib/closeout.c:
64412         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64413         Remove; no longer needed.
64414         "quotearg.h": Add include.
64415         (file_name): Do not bother to explicitly initialize to NULL; it's less
64416         efficient on some hosts.
64417         (close_stdout_status): Remove test as to whether stdout was already
64418         closed; it breaks for the case "echo x | sort >&-".
64419         Quote file name colons.
64420         Do not assume that _("write error") lacks format strings.
64421
64422 2000-05-15  Jim Meyering  <meyering@lucent.com>
64423
64424         * lib/version-etc.c (version_etc_copyright): Update the copyright
64425         string used in all --version output.
64426
64427 2000-05-14  Jim Meyering  <meyering@lucent.com>
64428
64429         * lib/closeout.c (close_stdout_set_file_name): New function.
64430         (close_stdout_status): Use new file-scoped global.
64431         Return right away if fstat says the stdout file descriptor is invalid.
64432         * lib/closeout.h (close_stdout_set_file_name): Declare.
64433
64434 2000-05-10  Jim Meyering  <meyering@lucent.com>
64435
64436         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64437         (close_stdout_set_status): New function.
64438         * lib/closeout.h (close_stdout_set_status): Declare.
64439
64440 2000-05-09  Jim Meyering  <meyering@lucent.com>
64441
64442         * m4/gettext.m4: Rename this...
64443         * m4/libintl.m4: ...to this.
64444
64445 2000-05-08  Jim Meyering  <meyering@lucent.com>
64446
64447         * lib/long-options.c: Don't include closeout.h.
64448         (parse_long_options): Don't call close_stdout for --version.
64449
64450 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64451
64452         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64453         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64454         2.1.3 bug.  This avoids a clash when files like regex.c define
64455         _GNU_SOURCE.
64456
64457 2000-05-06  Jim Meyering  <meyering@lucent.com>
64458
64459         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64460         (AC_REPLACE_FUNCS): Add strnlen.
64461
64462         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64463         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64464
64465         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64466         AC_SEARCH_LIBS call for nanosleep.
64467         (LIB_NANOSLEEP): Set and AC_SUBST.
64468
64469 2000-05-06  Jim Meyering  <meyering@lucent.com>
64470
64471         * lib/strnlen.c: Undefine __strnlen and strnlen.
64472         [!weak_alias]: Define __strnlen to strnlen.
64473
64474         * lib/atexit.c: New file, from libiberty.
64475
64476 2000-05-06  Jim Meyering  <meyering@lucent.com>
64477
64478         * lib/closeout.c (close_stdout_status): Also check for errors on the
64479         stderr stream.
64480
64481 2000-05-05  Jim Meyering  <meyering@lucent.com>
64482
64483         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64484         AC_SEARCH_LIBS call for clock_gettime.
64485         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64486
64487         * m4/search-libs.m4: Update from autoconf.
64488
64489         su doesn't work on Solaris 2.6.
64490         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64491         <shadow.h>.  Reported by Dragos Harabor.
64492
64493 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64494
64495         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64496         memcpy instead of xmalloc, xrealloc, path_concat.
64497         (locale_charset): Treat empty environment variables as absent.
64498         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64499
64500 2000-05-04  Jim Meyering  <meyering@lucent.com>
64501
64502         * lib/getopt.c: Update from glibc.
64503         * lib/obstack.c: Likewise.
64504         * lib/obstack.h: Likewise.
64505         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64506         file
64507
64508         * lib/regex.h: Likewise.
64509         * lib/strndup.c: Likewise.
64510         * lib/strnlen.c: New file, from glibc.
64511
64512 2000-05-03  Jim Meyering  <meyering@lucent.com>
64513
64514         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64515
64516 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64517
64518         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64519         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64520         compile-time test, rather than inspecting host and OS, to
64521         decide whether to define _LARGEFILE_SOURCE.
64522
64523 2000-05-01  Jim Meyering  <meyering@lucent.com>
64524
64525         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64526
64527         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64528         Based on a patch from Bruno Haible.
64529
64530 2000-05-01  Jim Meyering  <meyering@lucent.com>
64531
64532         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64533
64534 2000-04-29  Jim Meyering  <meyering@lucent.com>
64535
64536         * lib/path-concat.c: Declare strdup only if it's not defined.
64537         * lib/canon-host.c: Likewise.
64538
64539 2000-04-28  Jim Meyering  <meyering@lucent.com>
64540
64541         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64542         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64543         is included first, then limits.h is included by locale.h by libintl.h.
64544         From John David Anglin.
64545
64546 2000-04-25  Jim Meyering  <meyering@lucent.com>
64547
64548         * lib/makepath.c (S_IRWXUGO): Define.
64549         (make_path): Always perform explicit chmod if MODE specifies any
64550         of the `special' permission bits.  Prompted by a bug report against
64551         install from Mate Wierdl and Joost van Baal.
64552
64553 2000-04-18  Jim Meyering  <meyering@lucent.com>
64554
64555         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64556         (jm_PREREQ): Use it.
64557
64558 2000-04-18  Jim Meyering  <meyering@lucent.com>
64559
64560         * lib/README: New file.
64561
64562         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64563         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64564
64565 2000-04-17  Jim Meyering  <meyering@lucent.com>
64566
64567         Get it right :-)
64568         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64569         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64570         Suggestion from Akim Demaille.
64571
64572 2000-04-17  Jim Meyering  <meyering@lucent.com>
64573
64574         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64575         the definition of it to rpl_strftime also defined-away the system's
64576         declaration.
64577
64578 2000-04-15  Jim Meyering  <meyering@lucent.com>
64579
64580         Use `C' to denote so-called `contiguous' files, the same way
64581         that tar does.
64582         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64583         (ftypelet): Use S_ISCTG.
64584         From Michael Deutschmann.
64585
64586 2000-04-14  Jim Meyering  <meyering@lucent.com>
64587
64588         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64589         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64590         clobbered.
64591
64592 2000-04-14  Jim Meyering  <meyering@lucent.com>
64593
64594         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64595
64596 2000-04-13  Jim Meyering  <meyering@lucent.com>
64597
64598         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64599         AH_VERBATIM to insert required #ifndef into config.h.in.
64600         Suggestion from Akim Demaille.
64601
64602 2000-04-12  Jim Meyering  <meyering@lucent.com>
64603
64604         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64605         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64606         Christian Krackowizer.
64607
64608         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64609         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64610         (AC_SYS_LARGEFILE): Require.
64611         (AM_C_PROTOTYPES): Require.
64612
64613 2000-04-08  Jim Meyering  <meyering@lucent.com>
64614
64615         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64616         names don't conflict.  Reported by Eli Zaretskii.
64617
64618 2000-04-07  Jim Meyering  <meyering@lucent.com>
64619
64620         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64621         sys/types.h, to work around system header problems on AIX 3.2.5.
64622         From Bruno Haible.
64623
64624 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64625
64626         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64627         bug.  Deal with the different error behavior of Irix iconv.
64628
64629 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64630
64631         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64632         IRIX if the installer said otherwise.
64633
64634 2000-04-05  Jim Meyering  <meyering@lucent.com>
64635
64636         Portability tweaks required for ultrix4.3.
64637         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64638         (jm_CHECK_DECLS): Add getutent to the list of functions.
64639         (_jm_DECL_HEADERS): Add utmpx.h.
64640         From John David Anglin.
64641
64642         * m4/strftime.m4: Back out the 2000-04-02 change.
64643         Instead of that change, simply undefine putenv in the test program.
64644
64645 2000-04-05  Jim Meyering  <meyering@lucent.com>
64646
64647         Portability tweaks required for ultrix4.3.
64648         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
64649         getutent.
64650         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
64651         * lib/canon-host.c: Declare strdup.
64652         * lib/path-concat.c: Likewise.
64653         From John David Anglin.
64654
64655 2000-04-04  Jim Meyering  <meyering@lucent.com>
64656
64657         Be more DOS 8.3-friendly.
64658         * lib/ref-add.sin: Renamed from ref-add.sed.in.
64659         * lib/ref-del.sin: Renamed from ref-del.sed.in.
64660         * lib/Makefile.am: Reflect renaming.
64661         Reported by Eli Zaretskii.
64662
64663         Use a temporary file name that won't clash with `charset.alias'
64664         in the DOS 8.3 name space.
64665         * lib/Makefile.am (charset_tmp): Define.
64666         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
64667         (uninstall-local): Likewise.
64668         Reported by Eli Zaretskii.
64669
64670 2000-04-03  Jim Meyering  <meyering@lucent.com>
64671
64672         * m4/gettext.m4: Fix typo in comment.
64673
64674         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
64675         textutils/configure.in).  Suggestion from Paul Eggert.
64676         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
64677
64678 2000-04-02  Paul Eggert  <eggert@twinsun.com>
64679
64680         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
64681         variable in the shell rather than using putenv, which isn't
64682         portable.  This avoids the configure-time inter-test dependency
64683         on the potentially-renamed putenv function.
64684
64685 2000-03-30  Paul Eggert  <eggert@twinsun.com>
64686
64687         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
64688         before checking struct stat.st_blksize, so that
64689         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
64690
64691 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64692
64693         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
64694         since strftime.c uses HAVE_STRFTIME to decide whether to use
64695         the underlying strftime.
64696
64697 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64698
64699         * lib/time/strftime.c (my_strftime): Make sure we call the system
64700         strftime, not ourselves, when invoking the underlying strftime.
64701
64702 2000-03-24  Jim Meyering  <meyering@lucent.com>
64703
64704         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
64705         (charset_alias): Define.
64706         (install-exec-local): Factor out common code.
64707         (uninstall-local): Split lines longer than 80.
64708         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
64709         (SUFFIXES): Define.
64710         (.sed.in.sed): New rule.  Don't redirect directly to $@.
64711         (CLEANFILES): Add ref-add.sed and ref-del.sed.
64712
64713 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
64714
64715         * lib/config.charset: Output a line containing "Packages using this
64716         file".
64717         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
64718         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
64719         ref-del.sed): New rules.
64720
64721 2000-03-17  Jim Meyering  <meyering@lucent.com>
64722
64723         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
64724         Otherwise, include <strings.h>
64725
64726 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
64727
64728         * lib/unicodeio.c (utf8_wctomb): New function.
64729         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
64730         format instead of in UCS-4 with platform dependent endianness.
64731
64732 2000-03-10  Jim Meyering  <meyering@lucent.com>
64733
64734         * m4/lib-check.m4: Look for getspnam in -lgen, too.
64735         From Marco Franzen.
64736
64737 2000-03-07  Paul Eggert  <eggert@twinsun.com>
64738
64739         * lib/savedir.c (savedir): Work even if directory size is
64740         negative; this can happen with some screwy NFS configurations.
64741
64742 2000-03-06  Jim Meyering  <meyering@lucent.com>
64743
64744         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
64745         if it's NULL (because we ran out of memory).  From Bruno Haible.
64746
64747 2000-03-05  Jim Meyering  <meyering@lucent.com>
64748
64749         * lib/localcharset.c ("path-concat.h"): Include.
64750         (get_charset_aliases): Use path_concat instead of ANSI string
64751         concatenation.
64752
64753         * lib/unicodeio.h (PARAMS): Define.
64754         Use it to guard prototype.
64755
64756 2000-03-04  Jim Meyering  <meyering@lucent.com>
64757
64758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
64759         for lib/localcharset.c.
64760
64761 2000-03-04  Jim Meyering  <meyering@lucent.com>
64762
64763         * lib/Makefile.am (install-exec-local): Create $(libdir) before
64764         installing into it.
64765         (uninstall-local): Uncomment this rule so `make distcheck' works
64766         once again.
64767
64768         * lib/unicodeio.c (<errno.h>): Include it.
64769         (errno): Declare if not defined.
64770
64771         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
64772
64773         * lib/config.charset: New version, incorporating remarks from a linux
64774         i18n mailing list.  From Bruno Haible.
64775
64776 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
64777
64778         * m4/codeset.m4: New file.
64779         * m4/iconv.m4: New file.
64780         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
64781
64782 2000-03-03  Jim Meyering  <meyering@lucent.com>
64783
64784         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
64785
64786 2000-03-02  Jim Meyering  <meyering@lucent.com>
64787
64788         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
64789         the messages come out on separate lines.
64790
64791         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
64792         rather than jm_CHECK_DECLARATIONS.
64793         * m4/decl.m4: Remove now-unused file.
64794
64795         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
64796         geteuid.
64797
64798 2000-03-02  Jim Meyering  <meyering@lucent.com>
64799
64800         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
64801
64802 2000-03-01  Jim Meyering  <meyering@lucent.com>
64803
64804         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
64805         * lib/unicodeio.c: Likewise.
64806
64807 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
64808
64809         * lib/config.charset: New file.
64810         * lib/localcharset.c: New file.
64811         * lib/unicodeio.h, lib/unicodeio.c: New files.
64812         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
64813         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
64814         (noinst_HEADERS): Add unicodeio.h.
64815         (all-local, install-exec-local, charset.alias): New targets.
64816
64817 2000-02-28  Paul Eggert  <eggert@twinsun.com>
64818
64819         * lib/quotearg.c (ALERT_CHAR): New macro.
64820         (quotearg_buffer_restyled): Use it.
64821
64822 2000-02-27  Jim Meyering  <meyering@lucent.com>
64823
64824         * m4/check-decl.m4: Add getenv to the list.
64825
64826 2000-02-27  Jim Meyering  <meyering@lucent.com>
64827
64828         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
64829         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
64830
64831         * lib/backupfile.c: Guard inclusion of stdlib.h with
64832         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
64833         Declare malloc if needed.
64834
64835         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
64836         `#ifndef HAVE_DECL..'
64837         now that autoconf always defines the HAVE_DECL_ symbols.
64838         * lib/human.c: Likewise.
64839         * lib/same.c: Likewise.
64840         * lib/strtoumax.c: Likewise.
64841
64842         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
64843         declaration check was not run.
64844         * lib/hash.c: Likewise.
64845         * lib/human.c: Likewise.
64846         * lib/same.c: Likewise.
64847         * lib/strtoumax.c: Likewise.
64848
64849         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
64850         `.', then first look up the entire `.'-containing string as a login
64851         name.
64852
64853 2000-02-23  Jim Meyering  <meyering@lucent.com>
64854
64855         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
64856         in place of my hack.
64857
64858 2000-02-18  Paul Eggert  <eggert@twinsun.com>
64859
64860         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
64861         (textint): New typedef.
64862         (parser_control): Member year changed from int to textint.
64863         All uses changed.
64864         (YYSTYPE): Removed; replaced by %union with int and textint members.
64865         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
64866         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
64867         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
64868         (tSNUMBER, tUNUMBER): Now of type <textintval>.
64869         (date, number, to_year): Use width of number in digits, not its value,
64870         to determine whether it's a 2-digit year, or a 2-digit time.
64871         (yylex): Store number of digits of numeric tokens.
64872         Reported by John Kendall.
64873
64874         (parser_control): Changed from struct parser_control to typedef (for
64875         consistency).  All uses changed.
64876
64877         (tID): Removed; not used.
64878         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
64879
64880 2000-02-14  Paul Eggert  <eggert@twinsun.com>
64881
64882         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
64883         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
64884
64885 2000-02-12  Jim Meyering  <meyering@lucent.com>
64886
64887         * lib/userspec.c (ISDIGIT): Define it.
64888         (isdigit): Remove definition.
64889         (is_number): Use ISDIGIT, not isdigit.
64890         <libintl.h>: Include.
64891         (_ and N_): Define.
64892         (parse_user_spec): Mark translatable strings.
64893
64894 2000-02-10  Jim Meyering  <meyering@lucent.com>
64895
64896         With these changes, nanosleep.[ch] are finally enough like the other
64897         lib/* replacement files to compile on a few more losing systems.
64898
64899         * lib/nanosleep.h: Don't include config.h.
64900         Remove prototype from declaration of nanosleep.
64901         (PARAMS): Remove now-unneeded definition.
64902         * lib/nanosleep.c: #undef nanosleep.
64903         (rpl_nanosleep): Rename from nanosleep.
64904
64905 2000-02-10  Jim Meyering  <meyering@lucent.com>
64906
64907         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
64908         gnu_nanosleep to rpl_nanosleep.
64909
64910 2000-02-09  Jim Meyering  <meyering@lucent.com>
64911
64912         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
64913         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
64914
64915 2000-02-08  Akim Demaille  <akim@epita.fr>
64916
64917         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
64918         `[' and `]' and remove uses of `changequote'.
64919         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
64920         (AC_SYS_LARGEFILE): Likewise.
64921         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
64922         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
64923         of changequote.
64924         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
64925         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
64926         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
64927         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
64928
64929 2000-02-05  Jim Meyering  <meyering@lucent.com>
64930
64931         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
64932         Remove explicit use of AC_HEADER_TIME.  It is required by
64933         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
64934         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
64935         in autoconf whereby the expansion of the latter ended up preceding
64936         the expansion of its prerequisite, AC_HEADER_TIME.
64937         Reported by Volker Borchert.
64938
64939 2000-02-03  Jim Meyering  <meyering@lucent.com>
64940
64941         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
64942
64943 2000-02-03  Jim Meyering  <meyering@lucent.com>
64944
64945         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
64946         rather than with `#if HAVE_UTMPNAME'.
64947
64948 2000-02-02  Jim Meyering  <meyering@lucent.com>
64949
64950         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
64951         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
64952         Reported by Eli Zaretskii.
64953
64954 2000-02-01  Jim Meyering  <meyering@lucent.com>
64955
64956         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
64957
64958 2000-01-31  Jim Meyering  <meyering@lucent.com>
64959
64960         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
64961         functions.  Add the time.h and sys/time.h headers along with the
64962         AC_REQUIRE'ment of AC_HEADER_TIME.
64963
64964 2000-01-31  Jim Meyering  <meyering@lucent.com>
64965
64966         * lib/nanosleep.h (nanosleep): Guard declaration with
64967         `#if ! HAVE_DECL_NANOSLEEP'.
64968         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
64969         the declaration in that vendor's sys/timers.h.
64970         Reported by Christian Krackowizer.
64971
64972         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
64973         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
64974         (ISPRINT): Likewise.
64975         Reported by Tom Tromey.
64976
64977 2000-01-30  Jim Meyering  <meyering@lucent.com>
64978
64979         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
64980
64981         * m4/prereq.m4 (utmp_includes): Define.
64982         Check for ut_user and ut_name members in both struct utmpx
64983         and struct utmp.
64984
64985 2000-01-30  Jim Meyering  <meyering@lucent.com>
64986
64987         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
64988         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
64989         header files where only utmpx.ut_user is declared.
64990
64991         * lib/readutmp.h (UT_USER): Define.
64992
64993 2000-01-29  Jim Meyering  <meyering@lucent.com>
64994
64995         * m4/lib-check.m4: New file containing library-related checks from
64996         fileutils and sh-utils (textutils had none).
64997
64998 2000-01-28  Jim Meyering  <meyering@lucent.com>
64999
65000         * m4/perl.m4: Change format of warning message to look more like that
65001         from the missing script.  Suggestion from François Pinard.
65002
65003 2000-01-25  Jim Meyering  <meyering@lucent.com>
65004
65005         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65006         well as time.h in the compile check.
65007         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65008         Fix typo in cross-compiling case: s/yes/no/.
65009
65010 2000-01-23  Jim Meyering  <meyering@lucent.com>
65011
65012         * m4/jm-macros.m4: Move df-related tests here from
65013         fileutils/configure.in
65014
65015         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65016         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65017
65018         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65019         s/space/ac_fsusage_space/.
65020         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65021
65022         * m4/ftruncate.m4: New file (derived from part of
65023         fileutils/configure.in).
65024         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65025         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65026
65027         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65028         AC_SUBST these here, rather than just in sh-util/configure.in, so
65029         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65030         all the same.
65031         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65032         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65033         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65034         (AC_SUBST(POW_LIBM)): Likewise.
65035         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65036
65037 2000-01-23  Jim Meyering  <meyering@lucent.com>
65038
65039         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65040         obstack.c.
65041
65042 2000-01-22  Jim Meyering  <meyering@lucent.com>
65043
65044         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65045
65046         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65047
65048         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65049         configure.in
65050         (AC_CHECK_HEADERS): Likewise for sh-utils.
65051         (AC_CHECK_HEADERS): Likewise for textutils.
65052         Merge the three lists of headers.
65053
65054         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65055         from fileutils' configure.in.
65056
65057         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65058         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65059         check-decl.m4.
65060
65061         * m4/check-decl.m4: Use #if rather than #ifdef.
65062         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65063         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65064         (_jm_DECL_HEADERS): Define new function.
65065         (jm_CHECK_DECLARATIONS): Require it.
65066
65067 2000-01-22  Jim Meyering  <meyering@lucent.com>
65068
65069         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65070         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65071         Required for some AIX systems.  Reported by Christian Krackowizer.
65072         [TESTING] (main): New function.
65073
65074         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65075         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65076         letters.
65077
65078         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65079         iswprint.
65080
65081         * lib/strverscmp.c (ISDIGIT): Define.
65082         (strverscmp): Use ISDIGIT, not isdigit.
65083
65084 2000-01-19  Jim Meyering  <meyering@lucent.com>
65085
65086         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65087         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65088         defines `struct timespec' in <sys/time.h>
65089
65090         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65091         Thanks to Akim for explaining.
65092
65093 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65094
65095         * lib/nanosleep.c (nanosleep):
65096         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65097         POSIX.1 doesn't require SA_INTERRUPT and some systems
65098         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65099         it's been part of POSIX.1 since day 1 (in 1988).
65100
65101 2000-01-17  Jim Meyering  <meyering@lucent.com>
65102
65103         * lib/interlock: Remove unused file.  Reported by François Pinard.
65104
65105 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65106
65107         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65108         alert, backslash, formfeed, and vertical tab unnecessarily in
65109         shell quoting style.
65110
65111 2000-01-16  Jim Meyering  <meyering@lucent.com>
65112
65113         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65114         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65115         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65116         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65117
65118 2000-01-16  Jim Meyering  <meyering@lucent.com>
65119
65120         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65121         because the latter didn't work.
65122
65123 2000-01-15  Jim Meyering  <meyering@lucent.com>
65124
65125         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65126         (AC_REPLACE_FUNCS): Add memcpy and memset.
65127         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65128         Add strpbrk.
65129         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65130
65131 2000-01-12  Jim Meyering  <meyering@lucent.com>
65132
65133         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65134         (jm_PREREQ): Use it.
65135         (jm_PREREQ_READUTMP): New macro.
65136         (jm_PREREQ): Use it.
65137
65138 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65139
65140         Quote multibyte characters correctly.
65141         * m4/c-bs-a.m4: New file.
65142         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65143         (jm_PREREQ): Use it.
65144
65145 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65146
65147         * m4/uintmax_t.m4: Port to autoconf 2.13.
65148
65149 2000-01-08  Jim Meyering  <meyering@ascend.com>
65150
65151         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65152         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65153
65154 2000-01-04  Jim Meyering  <meyering@ascend.com>
65155
65156         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
65157         jm_STRUCT_DIRENT_D_TYPE.
65158         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
65159         jm_STRUCT_DIRENT_D_INO.
65160         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
65161         jm_STRUCT_UTIMBUF.
65162         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
65163         renamings.
65164         * m4/utime.m4: Likewise.
65165
65166         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
65167         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
65168
65169 2000-01-03  Paul Eggert  <eggert@twinsun.com>
65170
65171         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
65172         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
65173
65174 2000-01-02  Jim Meyering  <meyering@ascend.com>
65175
65176         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
65177         remember if this is necessary.
65178
65179 1999-12-26  Jim Meyering  <meyering@ascend.com>
65180
65181         * m4/jm-macros.m4: Use it here.
65182         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
65183
65184 1999-12-23  Jim Meyering  <meyering@ascend.com>
65185
65186         * m4/jm-macros.m4: Check for clock_gettime (moved from
65187         fileutils/configure.in)
65188         Check for gettimeofday.
65189
65190 1999-12-20  Jim Meyering  <meyering@ascend.com>
65191
65192         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65193         autoconf-2.14a-1999-12-20.
65194
65195 1999-12-19  Jim Meyering  <meyering@ascend.com>
65196
65197         * m4/lstat-slash.m4: New file.
65198         * m4/jm-macros.m4: Use the new macro:
65199         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65200
65201 1999-12-07  Jim Meyering  <meyering@ascend.com>
65202
65203         * m4/perl.m4: Require that File::Compare be available, too.
65204         Too many systems seem to lack it.
65205
65206         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65207         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65208
65209 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65210
65211         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65212         problem with the QNX 4.25 shell, which doesn't propagate exit
65213         status of failed commands inside shell assignments.
65214
65215 1999-11-17  Jim Meyering  <meyering@ascend.com>
65216
65217         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65218
65219 1999-11-07  Jim Meyering  <meyering@ascend.com>
65220
65221         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65222
65223 1999-11-06  Jim Meyering  <meyering@ascend.com>
65224
65225         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65226         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65227
65228 1999-11-05  Jim Meyering  <meyering@ascend.com>
65229
65230         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65231         configure.in of textutils, fileutils, and sh-utils into this one
65232         (shared between those packages) file.
65233         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65234         AC_STRUCT_ST_BLKSIZE.
65235
65236 1999-11-03  Jim Meyering  <meyering@ascend.com>
65237
65238         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65239         of AC_CHECK_TYPE checks includes unistd.h.
65240         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65241         Suggestion from Akim Demaille.
65242
65243 1999-10-30  Jim Meyering  <meyering@ascend.com>
65244
65245         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65246         m4-quoted string.
65247         * m4/ls-mntd-fs.m4: Likewise.
65248         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65249         * m4/jm-winsz1.m4: Likewise.
65250
65251         * m4/const.m4: Remove file, since the fix made it into the experimental
65252         version of autoconf.
65253         * m4/mktime.m4: Likewise.
65254
65255         * m4/check-type.m4: Remove file, now that the latest version of
65256         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65257
65258         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65259         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65260         AC_CHECK_TYPE.
65261
65262 1999-10-04  Jim Meyering  <meyering@ascend.com>
65263
65264         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65265
65266 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65267
65268         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65269         2.95.1 bug with HP-UX 10.20.
65270
65271 1999-09-17  Jim Meyering  <meyering@ascend.com>
65272
65273         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65274         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65275         due to missing strdup (against sh-utils-2.0).
65276
65277 1999-08-29  Jim Meyering  <meyering@ascend.com>
65278
65279         * m4/jm-macros.m4: Require jm_BISON.
65280         * m4/bison.m4: New file.
65281
65282 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65283
65284         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65285         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65286
65287 1999-08-05  Jim Meyering  <meyering@ascend.com>
65288
65289         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65290         to avoid conflicts with `conftest' on 8+3 filesystems.
65291         Suggestion from Eli Zaretskii.
65292
65293 1999-08-04  Jim Meyering  <meyering@ascend.com>
65294
65295         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65296         fileutils and sh-utils (textutils's getline test was inadequate).
65297         (AM_FUNC_GETLINE): Run this test.
65298         (AC_CHECK_FUNCS): Check for getdelim.
65299         Reported by Bob Proulx.
65300
65301 1999-08-02  Jim Meyering  <meyering@ascend.com>
65302
65303         * m4/jm-macros.m4: Add a comment.
65304
65305 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65306
65307         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65308         <inttypes.h> defines strtoumax as a macro (and not as a
65309         function).
65310
65311 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65312
65313         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65314         that we can shift, multiply and divide unsigned long long
65315         values; Ultrix cc can't do it.
65316
65317 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65318
65319         * m4/mktime.m4: New file, which is a preview of what should appear
65320         in the next public autoconf release.
65321
65322 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65323
65324         * m4/lfs.m4: Remove this file.
65325         * m4/largefile.m4: New file.  It contains the old contents of
65326         lfs.m4, except that all names with prefix AC_LFS have been
65327         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65328         compatible with future autoconf versions.  Also, some minor m4
65329         quoting problems have been fixed.
65330
65331 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65332
65333         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65334         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65335         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65336         and simplify the shell code.
65337
65338 1999-08-01  Jim Meyering  <meyering@ascend.com>
65339
65340         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65341         m4.
65342
65343 1999-07-20  Jim Meyering  <meyering@ascend.com>
65344
65345         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65346
65347 1999-07-15  Jim Meyering  <meyering@ascend.com>
65348
65349         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65350
65351 1999-05-22  Jim Meyering  <meyering@ascend.com>
65352
65353         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65354
65355 1999-05-20  Jim Meyering  <meyering@ascend.com>
65356
65357         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65358         Add a colon after each `then' in case $4 is empty.
65359
65360 1999-05-16  Jim Meyering  <meyering@ascend.com>
65361
65362         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65363
65364 1999-05-10  Jim Meyering  <meyering@ascend.com>
65365
65366         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65367
65368         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65369         AC_FUNC_MKTIME.
65370
65371 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65372
65373         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65374
65375 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65376
65377         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65378         not CPPFLAGS, so that linking works correctly in IRIX.
65379
65380 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65381
65382         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65383
65384 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65385
65386         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65387         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65388         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65389         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65390         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65391
65392         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65393
65394 1999-04-20  Jim Meyering  <meyering@ascend.com>
65395
65396         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65397         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65398         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65399
65400 1999-04-18  Jim Meyering  <meyering@ascend.com>
65401
65402         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65403         * m4/jm-macros.m4: Use it.
65404
65405 1999-04-06  Jim Meyering  <meyering@ascend.com>
65406
65407         * m4/strftime.m4: Remove test for %f.
65408
65409 1999-03-29  Jim Meyering  <meyering@ascend.com>
65410
65411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65412         superset of the AC_TYPE_* checks in the textutils, fileutils,
65413         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65414         AC_TYPE_PID_T.
65415
65416 1999-03-28  Jim Meyering  <meyering@ascend.com>
65417
65418         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65419         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65420         replaced e.g., in the *.sh files of the sh-utils.
65421
65422 1999-03-20  Jim Meyering  <meyering@ascend.com>
65423
65424         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65425         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65426         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65427
65428 1999-03-19  Jim Meyering  <meyering@ascend.com>
65429
65430         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65431
65432 1999-03-12  Jim Meyering  <meyering@ascend.com>
65433
65434         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65435
65436 1999-03-07  Jim Meyering  <meyering@ascend.com>
65437
65438         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65439         declared.
65440
65441 1999-02-17  Jim Meyering  <meyering@ascend.com>
65442
65443         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65444         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65445
65446 1999-02-07  Jim Meyering  <meyering@ascend.com>
65447
65448         * m4/group-member.m4: New file -- extracted from sh-utils'
65449         configure.in.
65450
65451         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65452         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65453
65454 1999-02-06  Jim Meyering  <meyering@ascend.com>
65455
65456         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65457         * m4/fnmatch.m4: Likewise.
65458         * m4/getgroups.m4: Likewise.
65459         * m4/lstat.m4: Likewise.
65460         * m4/malloc.m4: Likewise.
65461         * m4/putenv.m4: Likewise.
65462         * m4/realloc.m4: Likewise.
65463         * m4/regex.m4: Likewise.
65464         * m4/stat.m4: Likewise.
65465         * m4/strftime.m4: Likewise.
65466         Suggestion from Alain Magloire.
65467
65468         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65469         * m4/fnmatch.m4: Likewise.
65470         * m4/getgroups.m4: Likewise.
65471         * m4/getline.m4: Likewise.
65472         * m4/lstat.m4: Likewise.
65473         * m4/malloc.m4: Likewise.
65474         * m4/memcmp.m4: Likewise.
65475         * m4/putenv.m4: Likewise.
65476         * m4/realloc.m4: Likewise.
65477         * m4/regex.m4: Likewise.
65478         * m4/stat.m4: Likewise.
65479         * m4/strftime.m4: Likewise.
65480         Suggestion from Alain Magloire.
65481
65482         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65483         an argument.
65484
65485         * m4/regex.m4: Add a run-time Test for proper operation of
65486         re_compile_pattern.
65487
65488 1999-01-31  Jim Meyering  <meyering@ascend.com>
65489
65490         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65491
65492 1999-01-30  Jim Meyering  <meyering@ascend.com>
65493
65494         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65495
65496         * m4/jm-mktime.m4: Make this a wrapper around the official
65497         AM_FUNC_MKTIME rather than my private copy, now that the official one
65498         is up to date.
65499         * m4/mktime.m4: Remove file.
65500
65501         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65502         * m4/uptime.m4: Likewise.
65503         * m4/uintmax_t.m4: Likewise.
65504
65505 1999-01-28  Jim Meyering  <meyering@ascend.com>
65506
65507         * m4/jm-macros.m4: Use jm_AFS.
65508         * m4/afs.m4: New file (from fileutils' configure.in).
65509
65510         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65511         * m4/chown.m4: Likewise.
65512         * m4/d-ino.m4: Likewise.
65513         * m4/d-type.m4: Likewise.
65514         * m4/fnmatch.m4: Likewise.
65515         * m4/getgroups.m4: Likewise.
65516         * m4/gettext.m4: Likewise.
65517         * m4/jm-mktime.m4: Likewise.
65518         * m4/jm-winsz2.m4: Likewise.
65519         * m4/lcmessage.m4: Likewise.
65520         * m4/ls-mntd-fs.m4: Likewise.
65521         * m4/malloc.m4: Likewise.
65522         * m4/memcmp.m4: Likewise.
65523         * m4/putenv.m4: Likewise.
65524         * m4/realloc.m4: Likewise.
65525         * m4/st_mtim.m4: Likewise.
65526         * m4/strftime.m4: Likewise.
65527
65528 1999-01-16  Jim Meyering  <meyering@ascend.com>
65529
65530         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65531         (ARGMATCH_DIE_DECL): Define.
65532
65533 1999-01-12  Jim Meyering  <meyering@ascend.com>
65534
65535         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65536         Reported by Lars Hecking.
65537
65538 1999-01-10  Jim Meyering  <meyering@ascend.com>
65539
65540         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65541         gross kludge.
65542         * m4/inttypes_h.m4: Likewise.
65543         * m4/lstat.m4: Likewise.
65544         * m4/malloc.m4: Likewise.
65545         * m4/readdir.m4: Likewise.
65546         * m4/realloc.m4: Likewise.
65547         * m4/st_dm_mode.m4: Likewise.
65548         * m4/stat.m4: Likewise.
65549         * m4/utimbuf.m4: Likewise.
65550         * m4/utimes.m4: Likewise.
65551
65552         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65553         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65554         comments in config.h.in are meaningful.
65555
65556         * m4/jm-macros.m4: Require autoconf-2.13 here.
65557
65558         * m4/regex.m4: By default, don't use the included regex.c on systems
65559         with glibc 2.  Suggestion from Uli Drepper.
65560
65561 1999-01-02  Jim Meyering  <meyering@ascend.com>
65562
65563         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65564
65565 1998-12-18  Jim Meyering  <meyering@ascend.com>
65566
65567         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65568         Based on a suggestion from Lars Hecking.
65569
65570 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65571
65572         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65573
65574 1998-11-16  Jim Meyering  <meyering@ascend.com>
65575
65576         * m4/lfs.m4: Double-quote the `uname...` expression.
65577
65578 1998-11-14  Jim Meyering  <meyering@ascend.com>
65579
65580         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65581         * m4/stat.m4: Likewise.
65582
65583 1998-11-03  Jim Meyering  <meyering@ascend.com>
65584
65585         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65586         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65587
65588 1998-10-18  Jim Meyering  <meyering@ascend.com>
65589
65590         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65591
65592 1998-10-17  Jim Meyering  <meyering@ascend.com>
65593
65594         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65595         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65596         calls for those previously hard-coded headers.  Instead, take a new
65597         parameter.
65598         (jm_CHECK_DECLARATIONS): Reflect interface change.
65599         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65600         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65601
65602         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65603
65604 1998-10-14  Jim Meyering  <meyering@ascend.com>
65605
65606         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65607         instead of "TZ=America/Vancouver".  From Paul Eggert.
65608
65609 1998-10-11  Jim Meyering  <meyering@ascend.com>
65610
65611         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65612         This adds a test for a recently added compatibility fix for mktime.c.
65613         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65614
65615 1998-09-27  Jim Meyering  <meyering@ascend.com>
65616
65617         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65618
65619         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65620         ../configure.in, including a change from Gordon Matzigkeit to allow
65621         cross-compiling for the Hurd.
65622
65623         * m4/glibc.m4: New file/macro to test for the GNU C Library
65624         versions 1 and 2.  From Gordon Matzigkeit.
65625         Indent.
65626
65627 1998-09-21  Jim Meyering  <meyering@ascend.com>
65628
65629         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65630
65631 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65632
65633         Port nanosecond-resolution times to UnixWare 2.1.2 and
65634         pedantic Solaris 2.6.
65635
65636         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65637         AC_STRUCT_ST_MTIM.
65638         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
65639         Generate name of ns member, instead of just 1 or undef.
65640         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
65641
65642 1998-08-15  Jim Meyering  <meyering@ascend.com>
65643
65644         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
65645         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
65646         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
65647         instead of jm_TYPE_SSIZE_T.
65648
65649 1998-08-12  Jim Meyering  <meyering@ascend.com>
65650
65651         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
65652
65653 1998-08-02  Jim Meyering  <meyering@ascend.com>
65654
65655         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
65656         in acconfig.h manually.
65657
65658 1998-07-31  Paul Eggert  <eggert@twinsun.com>
65659
65660         * m4/st_mtim.m4: New file.
65661
65662 1998-07-28  Jim Meyering  <meyering@ascend.com>
65663
65664         * m4/utimes.m4: Undef stat.
65665
65666 1998-07-25  Jim Meyering  <meyering@ascend.com>
65667
65668         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
65669         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
65670
65671 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
65672
65673         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
65674         uid and gid actually remain unchanged.
65675
65676 1998-07-07  Jim Meyering  <meyering@ascend.com>
65677
65678         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
65679
65680 1998-07-04  Jim Meyering  <meyering@ascend.com>
65681
65682         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
65683         to prove that this macro can be used in packages without regex.c.
65684
65685 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
65686
65687         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
65688         is to be used.
65689
65690 1998-07-03  Jim Meyering  <meyering@ascend.com>
65691
65692         * m4/gettext.m4: Add -lintl if it's found to be necessary.
65693
65694         * m4/gettext.m4: New file -- from gettext-0.10.35.
65695         * m4/lcmessage.m4: Likewise.
65696         * m4/progtest.m4: Likewise.
65697
65698         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
65699         * m4/jm-macros.m4: Require the new macro.
65700
65701 1998-06-29  Jim Meyering  <meyering@ascend.com>
65702
65703         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
65704         for the definition of NGROUPS (used in a system header included
65705         by sys/mount.h).
65706
65707 1998-06-28  Jim Meyering  <meyering@ascend.com>
65708
65709         * m4/ls-mntd-fs.m4: New file.
65710         * m4/fstypename.m4: New file.
65711
65712         * m4/jm-macros.m4: Require the new macro.
65713         * m4/jm-glibc-io.m4: New file.
65714
65715 1998-05-19  Jim Meyering  <meyering@ascend.com>
65716
65717         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
65718         * m4/lchown.m4: New file.
65719
65720         * m4/Makefile.am.in: New file.
65721         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
65722
65723 1998-05-14  Jim Meyering  <meyering@ascend.com>
65724
65725         * m4/Makefile.am (EXTRA_DIST): Add them.
65726         * m4/jm-macros.m4: New file.
65727         * m4/utimbuf.m4: New file.
65728
65729 1998-05-12  Jim Meyering  <meyering@ascend.com>
65730
65731         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
65732
65733 1998-05-11  Jim Meyering  <meyering@ascend.com>
65734
65735         * m4/isc-posix.m4: New file.
65736
65737 1998-05-10  Jim Meyering  <meyering@ascend.com>
65738
65739         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
65740
65741 1998-05-09  Jim Meyering  <meyering@ascend.com>
65742
65743         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
65744         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
65745         with automake.
65746
65747         * m4/ssize_t.m4: New file.
65748         * m4/mktime.m4: Remove file -- the new automake has this now.
65749
65750 1998-04-26  Jim Meyering  <meyering@ascend.com>
65751
65752         * m4/assert.m4: New file.
65753         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
65754
65755 1998-04-05  Jim Meyering  <meyering@ascend.com>
65756
65757         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
65758         (jm_PREREQ): Use it here.
65759
65760 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
65761
65762         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
65763         in acconfig.h.
65764
65765 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
65766
65767         * m4/prereq.m4: New file.
65768         * m4/error.m4: New file.
65769         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
65770
65771 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
65772
65773         * m4/getline.m4: Don't set am_cv_func_working_getline before the
65774         cache-check for the same variable -- that defeated the purpose of
65775         the test; the test program was never run.  This was a problem only
65776         on systems with losing getline functions -- HP-UX 10.20 is one.
65777         Reported by Bjorn Helgaas.
65778
65779 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
65780
65781         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
65782
65783 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
65784
65785         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
65786
65787         * m4/const.m4: New file.  Use an initializer in this declaration
65788         typedef int charset[2]; const charset x;
65789         Reported by Bob Glickstein.
65790
65791 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
65792
65793         * m4/chown.m4: Fix reversed types on -1 args to chown.
65794         From Kaveh Ghazi.
65795
65796 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
65797
65798         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
65799         Add lseek and memchr.
65800
65801         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
65802         T.E.Dickey <dickey@clark.net> said that some older preprocessors
65803         have a 20-character limit on names.
65804
65805 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
65806
65807         * m4/inttypes_h.m4: New file.
65808         * m4/uintmax_t.m4: New file.
65809         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
65810
65811
65812         -----
65813
65814         Local Variables:
65815         coding: utf-8
65816         End:
65817
65818         Copyright (C) 1997-2010 Free Software Foundation, Inc.
65819
65820         Copying and distribution of this file, with or without
65821         modification, are permitted provided the copyright notice
65822         and this notice are preserved.